微服务技术栈

什么是微服务技术栈

微服务技术栈:多种技术的集合体。什么意思呢?
我们先看这个问题“我们讨论分布式的微服务架构的话,它有那些维度?”
回答这个问题时候,我们再绕一个圈子,假设现在90后、95后是E时代下的数字化生活,我们要符合这一主题,我们应该有那些维度呢?我们一定熟悉一个小米品牌,也就是雷布斯将很多高科技的东西做成了白菜价,让很多平民可以享用
微服务技术栈_第1张图片
雷布斯超级关心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等”都是这个接口的实现类。

你可能感兴趣的:(微服务springcloud,微服务技术栈)