目录
ISR -- 集合列表 -- in-sync-replica
零碎概念
怎么实现高可用:
- 硬件层面
- 多块网卡 -- 物理层面两块网卡 -- 逻辑层面一块网卡
- 磁盘 -- 磁盘阵列
- 架构层面
- 引入集群
- 异地多活
目前主流的消息中间件
kafka、ActiveMQ、RocketMQ、RabbitMQ
消息中间件的两种通信方式
- 点对点:生产者消费者一一对应,消费者消费完,消息中间件就没有了
- 发布订阅:类似公众号
kafka消息中间件通常用于
- 日志收集
- 业务解耦
- 流量削峰
版本问题
此次项目使用的kafka版本是2.12版本,此版本的kafka需要依靠zookeeper
kafka3.0版本以后已经脱离了zookeeper,kafka能自己实现zookeeper功能
项目描述
通过前端nginx集群收集的访问日志,解析出日志中ip所属的省份、运营商等信息存入数据库
nginx集群、filebeat
在项目中,配置了三台nginx应用集群,在用户和nginx应用集群中间,加入了两台nginx代理集群
为什么要搭建nginx反向代理集群
例如www.sc.com可以解析成多个IP地址,一般来说会使用轮询的方式去解析成各个IP
但是如果其中一个其中一个服务器挂了,DNS不会立马将这个IP地址去掉,还是会解析成挂掉的IP,可能会造成访问失败,虽然客户端有重试,但还是会影响用户体验
所以在应用web前面加反向代理,安全性也会增加,负载均衡的控制也会容易很多
反向代理和正向代理
反向代理是充当web服务器网关的代理服务器
当请求发送到使用反向代理的web服务器时,会将请求先转到反向代理,由该代理确定是将其路由到web服务器还是将其阻止
有了反向代理,用户永远不会与它使用的web服务器进行直接通信
通过负载均衡和缓存,可以保护web免遭攻击,并提供更好的性能
正向代理:客户端和原始服务器之间的服务器,为了从原始服务器取