版权声明:欢迎访问,本文为小编原创文章 https://blog.csdn.net/changyinling520/article/details/81275991
前言
在讲springCloud之前讲讲为什么要有springCloud,从学习中知道springCloud的兴起是因为Dubbo社区五年没有更新,在计算机这个行业里面五年没有进步真的太恐怖了,所以springCloud火热。虽然现在Dubbo已经开始活跃,但是springCloud绝不会被取代,而是蒸蒸日上,这时候我相信你和一样,肯定想知道原因。
内容
1.选择框架的依旧的是什么?
- 整体的解决方案和框架的成熟度
- 社区的热度
- 可维护性
- 学习曲线
2.流行的微服务框架有哪些?
- 阿里的dubbo/HSF
- 京东的jsf
- 新浪微博的motan
- 当当网的DubboX
3.各个服务框架的比较(表格展现)
功能点 | netflix/SpringCloud | Motan | Grpc | Thrift | Dubbo/Dubbox |
---|---|---|---|---|---|
功能定位 | 完整的微服务框架 | rpc框架,整合了zk和consul,实现了集群环境的基本服务注册于发现 | rpc框架 | rpc框架 | 服务框架 |
支持Rest | 是,Ribbon支持多种可插拔的序列换选择 | 否 | 否 | 否 | 否 |
支持rpc | 否 | 是 | 是 | 是 | 是 |
支持多语言 | 是 | 否 | 是 | 是 | 否 |
负载均衡 | 是(服务端zuul+客户端的ribbon)zuul-服务动态路由,云端负载均衡,eureka(针对中间层服务) | 是(客户端) | 否 | 否 | 是(客户端) |
配置服务 | Netflix Spring cloudConfig server集中配置 | 是(zookeeper提供) | 否 | 否 | 否 |
服务调用链监控 | 是(zuul)zuul提供边缘服务,api网关 | 否 | 否 | 否 | 否 |
高可用、容错 | 是(服务端htrix+客户端ribbon) | 是(客户端) | 否 | 否 | 是(客户端) |
典型应用案例 | Netflix | Sina | |||
社区活跃程度 | 高 | 一般 | 高 | 一般 | 一般 |
学习难度 | 中等 | 低 | 高 | 高 | 低 |
文档丰富度 | 高 | 一般 | 一般 | 一般 | 高 |
其他 | Spring Cloud Bus为我们的应用程序带来更多的管理端点 | 支持降级 | Netflix内部在开发集成grpc | IDL定义 | 实践的公司比较多 |
4.springCloud是微服务的架构,那什么是微服务?
微服务:强调服务的大小 ,关注某一个点,是具体解决某一个问题或提供对应服务的一个服务应用。
什么是微服务架构?
微服务架构没有统一的,标准的定义。微服务架构师一种架构模式或是一种架构风格,它提倡将单一应用程序分成一组小的服务,每一个服务运行在独立的进行中,服务之间项目协调,相互配合,为用户提供最终价值。服务之间采用了轻量级的通信机制互相沟通。每个服务都围绕着具体业务进行构建,并且能够被独立部署到生产环境、类生产环境等。另外,应该尽量避免统一的,集中式的服务管理机制,对具体的一个服务而言,应根据上下文,选择合适的语言,工具对其进行构建,可以有一个非常轻量级的集中式管理协调这些服务,可以使用不同的语言来编写服务,也可以使用不同的数据库存储(config)
什么是微服务化?
微服务化的核心是传统的一战式应用。