微服务套件学习笔记——consul、ocelot、apollo、Jenkins
一、 Consul
1、 对服务方提供服务注册、并对注册的服务做心跳检查,然后对调用方提供服务地址集合,客户端自由选择要调用的服务。
2、 consul集群中的consul节点有两种模式,一种是client:内存模式,保存的服务集合放在内存里,不会持久化。另一种是server:服务集合最后会保存在硬盘里,server节点会选出一个leader来同步完整的服务集合给其他所有节点。
3、 consul不提供统一入口,通常前置两个nginx做入口,nginx做keepalive,如果其中一个nginx挂了,ip漂移到另一个。
二、 ocelot
1、 网关:请求转发,监听客户端请求,然后转发给内网的服务,这样服务不会暴露,客户端请求统一入口。
2、 和consule配套使用,可以实现对内网服务集群的负载均衡(轮询、随机、权重)
3、 和polly配套使用,可以实现请求的限流(比如5分钟内限制只能访问5次,5次之后限制30s后才能重新访问)、降级、熔断
三、 Apollo
1、 分布式配置中心:可视化界面管理所有服务集群的配置文件,
2、 可以为不同项目、不同环境(开发、生产)提供实时更新的配置文件
3、 通过创建私有的命名空间,支持json的配置,不止是kev-value
四、 Jenkins
1、 ci/cd持续集成持续部署
2、 代码git->代码仓库(gitee、github)->jenkins自动拉取->根据配置好的构建步骤构建镜像->推送到镜像仓库(harbor、dockerhub、gitlab)->服务器拉取镜像->创建容器