随笔分类 - 11-RabbitMq+Kafka+RocketMq+Nginx+OpenResty
摘要:一. 前言 1. 什么是延迟队列? 延迟队列是一种特殊的队列,它允许将消息或任务延迟一段时间后再进行处理1。这种队列为那些需要延迟处理的场景提供了一种可靠的延迟处理机制。其工作原理是将消息或任务存储在队列中,并为每个消息或任务设置一个延迟时间。当延迟时间到达时,队列会将消息或任务取出并进行相应的处理
阅读全文
摘要:一. 整体业务再次分析 流程如下: 管理员-详细分析: 1. 管理员在后台,增加和修改商品,利用Thymeleaf 来生成一个静态页面,并将该页面上传到文件服务器上。 PS:这个地方生成的是一个通用的静态页,敏感数据比如 价格,商品名称等,通过占位符来替换。 2. 将敏感数据同步到redis中,如下
阅读全文
摘要:一. 方案整体剖析 1. 中小公司的方案 很多中小型 电商的商品详情页 可能一分钟都没有一个访问,这种的话,就谈不上并发设计,一个tomcat 就能搞定 还有一种中小型公司呢?虽然说公司不大,但是也是有几十万日活,然后几百万用户,他们的商品详情用,采取的方案可能是全局的一个静态页面这样子 就是我们有
阅读全文
摘要:一. OpenResty常用命令 主要帮助对http请求取参、取header头、输出等 二. 配置文件抽离写法 一个配置文件里可能出现多个server,就会导致主配置文件nginx.conf非常长,所以我们可以把server抽离成单独的配置文件,然后导入到主配置文件里即可 子配置文件:xxxx.co
阅读全文
摘要:一. 代理静态文件 ( 这里可以代理静态资源,或者静态页面) 1. 代理静态文件夹的配置 server { listen 80; server_name test1.hi-whales.com; # 前缀匹配 location /static/ { #这里是重点,就是代理这个文件夹 alias '/
阅读全文
摘要:一. 前言 1. 简介 (官网:https://openresty.org/cn/) OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项, 用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、We
阅读全文
摘要:一. Nginx动静分离 1. 准备 1个web程序:部署在7061端口,启动 【dotnet NginxWeb.dll --urls="http://*:7061" --ip="127.0.0.1" --port=7061】 Nginx程序:监听7000端口 2. 目的 比如单独启动部署在7061
阅读全文
摘要:一. Topic和分区相关 1. 创建Topic(默认一个分区) /// <summary> /// 创建Topic(默认一个分区) /// </summary> /// <param name="topicName">topic的名称</param> /// <returns></returns>
阅读全文
摘要:一. 简介 1. RabbitMq 官网地址:https://www.rabbitmq.com/ 2. Kafka 官网地址:http://kafka.apache.org/ 3. RocketMq 官网地址: 4. Nginx http://nginx.org/en/download.html h
阅读全文
摘要:一. 说明 1. 环境准备 操作系统:centos8.0 (腾讯云) Erlang:11.2.1 RabbitMq: 3.8.14 2. 涉及的端口 4369:erlang进程epmd用来做node连接的 (注意这个端口,即使关闭rabbitmq服务,该进程也一直开着) 5672:rabbitmq服
阅读全文
摘要:一. Kafka简介 1. 简介 官网:http://kafka.apache.org/ 2. 优点 3.常用术语 4. 与其他消息队列比较 二. 搭建与配置 前提准备: 操作系统:Centos8.0 (腾讯云) JDK:jdk11 (rpm包) Zookeeper:协调器 【版本3.6.3】 ka
阅读全文
摘要:一. 生产者-确认机制 1. Confirm模式 (1). 含义:就是应答模式,生产者发送一条消息之后,Rabbitmq服务器做了个响应,表示收到了。 (2). 特点:异步模式,在响应之前,可以继续发送消息,单条消息、批量消息均可继续发送。 (3). 核心代码:单条消息确认: channel.wai
阅读全文
摘要:一. Direct-Exchange模式 1. 含义 交换机类型设置为:ExchangeType.Direct 交换机和队列通过 routingKey(路由key)进行绑定,发消息的时候每条消息也要指定routingKey(路由key),然后交换机根据该路由key进行匹配,可以: (1). 一个交换
阅读全文
摘要:一. RabbitMq基本使用 1. 条件准备 (1).通过指令【net start rabbitmq】启动服务 (2).准备1个生产者程序Producer, 1个消费者程序Consumer01 (3).通过Nuget给三个程序安装 【RabbitMQ.Client 6.4.0】 (4).通过地址:
阅读全文
摘要:一. RabbitMq简介 1. 介绍 RabbitMQ是 2007年发布,是一个在AMQP(高级消息队列协议)基础上完成的,由Erlang(专门针对于大数据高并发的语言;)语言开发,可复用的企业消息系统,是当前最主流的消息中间件之一。 特点:可靠性、灵活的路由、消息集群简单、队列高可用、多种协议的
阅读全文
摘要:一. 负载均衡 1. 用法 通过proxy_pass 可以把请求代理至后端服务,但是为了实现更高的负载及性能, 我们的后端服务通常是多个, 这个是时候可以通过upstream 模块实现负载均衡。 使用的模块为:【ngx_http_upstream_module】,具体配置可以根据模块名去查找文档。
阅读全文
摘要:一. Server参数配置 1. 准备工作-编译安装echo (1). 先去github上下载 https://github.com/openresty/echo-nginx-module 这个模块 (2). copy到nginx的安装目录下的modules文件夹下 (3). 解压,并删除原先的压缩
阅读全文
摘要:一. Nginx简介 1. 简介 官网:http://www.nginx.org/ (各版本下载、文档介绍) 源码:https://trac.nginx.org/nginx/browser Nginx 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。 处理响应请求很快
阅读全文