什么是微服务技术栈

微服务技术栈:多种技术的集合体。什么意思呢?
我们先看这个问题“我们讨论分布式的微服务架构的话,它有那些维度?”
回答这个问题时候,我们再绕一个圈子,假设现在90后、95后是E时代下的数字化生活,我们要符合这一主题,我们应该有那些维度呢?我们一定熟悉一个小米品牌,也就是雷布斯将很多高科技的东西做成了白菜价,让很多平民可以享用
在这里插入图片描述
雷布斯超级关心00后的年轻人,很恐怖的,有手机、电视、笔记本、智能家电,这些我们认了,关键更恐怖的是小米牙刷都有了,小米沙发、被子、床垫,我的妈呀,如果再过两天小米众筹成功的话,又会出现一个新的东西叫小米马桶。
这时候你还能说小米是一家手机公司吗?它是不是慢慢的产生了一种东西叫生态,你离不开,基本上你敢去小米卖店的话,有可能一进去不会只买一样东西,会买一堆东西。

小米的生态和我们的微服务技术栈有什么关系呢?E时代下的数字生活是不是需要很多的电器,小米科技做了很多的电器,我们用一家品牌就可以。对标到我们的微服务架构看,会有

  • 服务治理
  • 服务注册
  • 服务调用
  • 服务均衡
  • 服务监控
  • 。。。
    也就是,我们要符合微服务架构,就要有上面列举的一堆东西,这堆东西中的每一个是不是需要一个具体的组件来承载,比如
组件类别组件名称
服务治理dubbo
服务注册zookeeper
服务负载均衡nginx
服务监控自己实现

从上表可以看到这些都是写杂牌子的。我们要完成微服务架构的各个维度,也不跟你客气,跟小米科技一样,也有一个厂商它来给你提供了,这个厂商就是springcloud,它相当于小米科技满足于一个重要的主题,主题下面又有多种技术维度落地,也不用买别的品牌了,就用一个牌子享用一条龙服务。

微服务技术栈有哪些

天上飞的理论,必然有落地的实现。“分布式的微服务架构”就是天上飞的理论,“服务开发、服务调用、服务注册。。。”这些就是落地的维度。
我们想想哪些技术能够满足这些落地的维度,最终在这么一个架构上面,谁能把最好的结果组合起来,这时候就是完美的微服务解决方案了。

微服务条目落地技术
服务开发Springboot、Spring、SpringMVC
服务配置与管理Netflix公司的Archaius、阿里的Diamond等
服务注册与发现Eureka、Consul、Zookeeper等
服务调用Rest、RPC、gRPC
服务熔断器Hystrix、Envoy等
负载均衡Ribbon、Nginx等
服务接口调用(客户端调用服务的简化工具)Feign等
消息队列Kafka、RabbitMQ、ActiveMQ等
服务配置中心管理SpringCloudConfig、Chef等
服务路由(API网关)Zuul等
服务监控Zabbix、Nagios、Metrics、Spectator等
全链路追踪Zipkin,Brave、Dapper等
服务部署Docker、OpenStack、Kubernetes等
数据流操作开发包SpringCloud Stream(封装与Redis,Rabbit、Kafka等发送接收消息)
事件消息总线Spring Cloud Bus

说明:看上表的微服务条目列中“服务配置与管理”,它类似接口,落地技术“Netflix公司的Archaius、阿里的Diamond等”都是这个接口的实现类。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐