微服务Dubbo与Spring Cloud对比
Nacos与Eureka均提供注册中心和服务治理功能,以下为两者差异和选型方案。
模块 Nacos Eureka 说明
MySql 是 否
Nacos需要采用MySql进行数据进行持久化
MQ 否
是 Eureka需要采用MQ进行配置中心刷新
配置中心 是 否
Eureka结合Config或者Consul实现配置中心
配置文件 在线编辑 本地文件或者Git远程文件 Eureka结合Config或者Consul
集群 是 是 Nacos需要配置集群ip再启动
选型建议
采用Eureka方案的考虑
- 想用Spring Cloud原生全家桶
- 想用本地文件和Git作为配置管理的,将配置与服务分开管理
- 考虑短期的稳定性
采用Nacos方案的考虑
- 想在线对服务进行上下线和流量管理
- 不想采用MQ实现配置中心动态刷新
- 不想新增配置中心生产集群
- 考虑引入Spring Cloud Alibaba生态
微服务网关Spring Cloud Netflix Zuul和Spring Cloud Gateway对比
在高并发和潜在的高延迟场景下,网关要实现高性能高吞吐量的一个基本要求是全链路异步,不要阻塞线程。Zuul网关采用同步阻塞模式不符合要求。
Spring Cloud Gateway基于Webflux,比较完美地支持异步非阻塞编程,很多功能实现起来比较方便。Spring5必须使用java 8。在Gateway中定义了丰富的路由断言和过滤器,通过配置文件或者Fluent API可以直接调用和使用,非常方便。在性能上,也是胜于Zuul网关。
参考链接:https://juejin.cn/post/6844903683516268557
Maven仓库管理Nexus和Artifactory对比
多 Docker 镜像注册中心
Artifactory
支持多 Docker 镜像注册中心,用户可以做 Docker 镜像的流水线 Promotion。
删除 Docker 镜像时不需要停服。
Nexus 3.0
支持 Docker 镜像注册中心。
删除 Docker 镜像时需要停服。
参考链接:https://blog.csdn.net/wangqingjiewa/article/details/96427566
LogStash+Elasticsearch+Kibana
单一的架构,logstash作为日志搜集器,从数据源采集数据,并对数据进行过滤,格式化处理,然后交由Elasticsearch存储,kibana对日志进行可视化处理。
相比原来添加了以下组件
Filebeat
轻量级的开源日志文件数据搜集器。通常在需要采集数据的客户端安装Filebeat,并指定目录与日志格式,Filebeat就能快速收集数据,并发送给logstash进行解析,或是直接发给Elasticsearch存储。
Redis
NoSQL数据库(key-value),也数据轻型消息队列,不仅可以对高并发日志进行削峰还可以对整个架构进行解耦
其中Redis也可以使用其他组件替代,如Kafka(后续会撰写Kafka的搭建)
参考https://blog.csdn.net/weixin_46202385/article/details/111145175
服务追踪Sleuth+zipkin
服务监控Prometheus+Grafana
消息队列Kafka、RocketMQ、RabbitMQ
sonar 扫描代码
Eueeka、Nacos、consul、Zookepper 参考https://vlambda.com/wz_5jjqBXPkONQ.html
Jenkins+kubernetes(K8s) 持续交付
Docker私有仓库harbor 参考https://blog.csdn.net/funtaster/article/details/83268974
sentinel断路器(集群)