一起玩转微服务(2)——框架与工具

时间:2020-06-16 14:18:19   收藏:0   阅读:48

一、微服务架构有哪些优势?

技术分享图片

二、微服务有哪些特点?

技术分享图片

三、微服务架构如何运作?

微服务架构具有以下组件:
技术分享图片

 

 

 

四、什么是 REST / RESTful 以及它的用途是什么?

Representational State Transfer(REST)/ RESTful Web 服务是一种帮助计算机系统通过 Internet 进行通信的架构风格。这使得微服务更容易理解和实现。微服务可以使用或不使用 RESTful API 实现,但使用 RESTful API 构建松散耦合的微服务总是更容易。

五、什么是不同类型的微服务测试?

在使用微服务时,由于有多个微服务协同工作,测试变得非常复杂。因此,测试分为不同的级别。·

六、常用的微服务框架

各种语言都有自己的微服务框架,主要包括:

下面一起看一下常用的微服务框架体系。

1. Spring 顶级项目

首先,我们一起来看一下Spring的顶级项目都包括哪些:

2. 背景

对于使用java技术更多的团队来说,dubbo,Spring Cloud的知名度相对较高,而且在业界的影响力非常高。那么我们就来一起讨论一下这两种框架,做一个综合的评比。
Dubbo
Dubbo是阿里出品的服务化组件,应用于多个部门,后来开源之后,也衍生出像dubbox这样的框架,对其进行了进一步的增强。Dubbo 是一个分布式服务框架,是国内互联网公司开源做的比较不错的阿里开放的微服务化治理框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。目前Dubbo已经正式进入Apache孵化器。
其核心部分包含:

 技术分享图片

Spring Cloud
Spring Cloud从其命名中就可以知道,是Spring Source的产物,可以说Spring的出现整个改变了企业级开发,Spring Cloud,除了具有 Spring 社区的强大背景外,还有 Netflix 强大的后盾与技术输出。Netflix 作为一家成功实践微服务架构的互联网公司,在几年前就把几乎整个微服务框架栈开源贡献给了社区,这些框架开源的整套微服务架构套件是 Spring Cloud 的核心。

从背景上来看,前者在国内的影响力比较大,后者在国外的影响力比较大,使用的公司也更多一些。

Istio
Istio 作为用于微服务服务聚合层管理的新锐项目,是 Google、IBM、Lyft(海外共享出行公司、Uber劲敌) 首个共同联合开源的项S目,提供了统一的连接,安全,管理和监控微服务的方案。
目前首个测试版是针对 Kubernetes 环境的,社区宣称在未来几个月内会为虚拟机和 Cloud Foundry 等其他环境增加支持。 Istio 将流量管理添加到微服务中,并为增值功能(如安全性,监控,路由,连接管理和策略)创造了基础。

3. 社区活跃度

我们选择一个开源框架,社区的活跃度是我们极为关注的一个要点。社区越活跃,解决问题的速度越快,框架也会越来越完善,不然当我们碰到问题,就不得不自己解决。
先看一下dubbo和dubbox,
下图是dubbo目前的情况,在2017年,阿里已经宣布有团队重新维护dubbo项目,可以看到dubbo项目已经重新开始修复里边的一些bug,并且进入不断的完善的过程中了。Dubbo 目前在 GitHub 上有超过 16000 个 star 和超过 12000 的 fork 数,是国内影响力最大的开源项目之一。

技术分享图片

 

 

反倒是继承而来的dubbox,已经有很长时间没有进行维护了。
技术分享图片

 

 

再看Spring Cloud,沿袭着Spring一惯的风格,更新非常及时,响应的速度也非常快,社区非常活跃。
技术分享图片

4. 架构完整度

根据微服务架构在各方面的要素,看看Spring Cloud和Dubbo都提供了哪些支持。表N展示了Dubbo和Spring Cloud的区别。
技术分享图片

 

其实单纯从提供的数量上来比较,有一些不公平,因为dubbo是几年前出来的,极大的改变了人们对于分布式系统的认知。而上边写无的部分其实也可以整合其它的框架,所以,对于这一点的评比上来说,选用何种框架取决于团队目前的情况,而不是一下子就全部转型,要阶梯式的实现整个应用架构。

5. 总结

使用Dubbo构建的微服务架构就像组装电脑,各环节我们的选择自由度很高,但是最终结果很有可能因为一条内存质量不行就点不亮了,总是让人不怎么放心,但是如果你是一名高手,那这些都不是问题;而Spring Cloud就像品牌机,在Spring Source的整合下,做了大量的兼容性测试,保证了机器拥有更高的稳定性,但是如果要在使用非原装组件外的东西,就需要对其基础有足够的了解。

最后呢,说一下工具,个人偏好是eclipse派!
https://spring.io/tools
技术分享图片

 

原文:https://www.cnblogs.com/skyme/p/13140242.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!