配置中心是AP模型?
比如将超时时间从毫米修改为毫米1秒后生效还是1分钟生效都没有关系无非是用户体验的问题1秒之后还是多久之后这是准实时非实时(没有延迟)最好方案:携程阿波罗
用阿波罗的公司
基础模型
配置中心首页
添加/修改配置
客户端获取
通过注解方式也可以获取
核心概念
新建集群
添加namespace
获取自定义的namespace
添加配置项
逻辑架构图
Eureka通过ZK进行调度
1、用户访问Web管理页面(AdminService服务)修改配置2、AdminServicerenew通知ZK(即创建一个文件)3、ConfigService监听ZK(即监听这个文件)4、ConfigService获取最新配置缓存到本地5、ConfigService通知Client让它获取最新的配置6、Client从ConfigService获取最新配置
实际部署会将ConfigService、Eureka、MetaServer放在同一个JVM进程中
JVM进程无状态冗余部署很多份
一个机房部署一个JVM进程;不同机房连接同一个数据库
为什么选择Eureka
阿波罗客户端实现原理
伪长连接
不同场景的可用性
自研配置中心思路
需求APP粒度即项目粒度
参考架构用Redis的服务发布订阅也可以
小提示
1、阿波罗不支持加密可以通过配置中心对配置加密在客户端解密的方式实现2、心跳实现方式:tcp长连接、ping、发包消息队列
定义
应用场景
消息队列模型订阅主题一对多
P2P一对一
消息队列组成1、Producer:MQClientConsumer:MQClientBroker:MQServer2、所有的mq支持的通讯协议都是tcp
传统协议(基本不会用)
1、开源的IM都是基于XMPP协议本质基于XMIO协议比较大基本上不太会用2、自定义协议比如二进制私有协议qq