微服务快速实践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

dubbo:http://dubbo.apache.org/en-us/

grpc:http://doc.oschina.net/grpc?t=57966

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

seata:https://github.com/seata/seata

7.数据库分库分表

Cat :http://www.mycat.io/

shard-jdbc :https://shardingsphere.apache.org/document/current/cn/overview/

Tddl:https://github.com/alibaba/tb_tddls

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下开源组件选型的主要内容,如果未能解决你的问题,请参考以下文章

微服务架构实践:服务注册与发现中负载方案选型

技术选型看这里|微服务架构下该如何技术选型?建议收藏

微服务架构下该如何技术选型呢?

微服务引擎的线上流量治理最佳实践

(原创)大话微服务架构之api网关-apiGateway-技术选型

服务治理最佳实践:如何快速依据请求参数值进行服务路由鉴权限流?