微服务快速实践3-java下开源组件选型
Posted SingleOneMan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务快速实践3-java下开源组件选型相关的知识,希望对你有一定的参考价值。
微服务快速实践3-java下常见开源组件选型
记录下微服务项目中使用到的开源组件技术选型。
1.服务调用
1.http调用
springcloud(包括fegin、ribbon、httpclient、httpinvoke等)
springcloud:https://spring.io/projects/spring-cloud
2.rpc调用
dubbo 、grpc、或者自定义开发rpc
2.常见网关选型
zuul/zuul2
springcloud-gateway
kong (基于nginx,集成了lua库):https://github.com/Kong/kong
3.分布式配置中心
apollo :https://github.com/ctripcorp/apollo
nacos :http://dubbo.apache.org/zh-cn/docs/user/references/registry/nacos.html
zookeeper:https://zookeeper.apache.org/
etcd:https://etcd.io/
springcloud-config:https://spring.io/projects/spring-cloud-config
4.分布式注册中心
zk eureka redis etcd
consul:https://www.consul.io/
5.分布式限流
目前开源的网关组件都集成了各自的限流模块,只需要基于这些模块自定义开发即可。
zuul网关系列的:https://github.com/marcosbarbero/spring-cloud-zuul-ratelimit
sentinel:https://github.com/alibaba/Sentinel结合网关自定义实现(如kong网关在集成的限流模块基础上,lua开发)
6.分布式事务(数据库)
事务消息:rocketmq,kafka
7.数据库分库分表
Cat :http://www.mycat.io/
shard-jdbc :https://shardingsphere.apache.org/document/current/cn/overview/
8.APM,链路追踪
Cat:https://github.com/dianping/cat
Zipkin:https://zipkin.io/
Pinpoint:https://github.com/naver/pinpoint
SkyWalking:https://github.com/apache/skywalking
prometheus:https://prometheus.io/
9.日志相关
logstash:https://github.com/elastic/logstash
kafka:http://kafka.apache.org/
logbeat:https://elasticsearch.cn/topic/beat
filebeat:
以上是关于微服务快速实践3-java下开源组件选型的主要内容,如果未能解决你的问题,请参考以下文章