首页 > 编程知识 正文

java微服务架构,阿里云微服务架构

时间:2023-05-03 18:40:44 阅读:52221 作者:4425

一、微服务体系结构概述什么是微服务?

微服务化的核心是将传统的一站式APP应用,根据业务划分为一个个服务,并彻底结合起来。 每个微服务提供一个业务功能的服务,一个服务做一件事,从技术角度看是一个小而独立的处理过程,可以像过程概念那样,自己单独启动或销毁,有自己的数据库

为什么使用微服务架构?

好处:

各项服务充分凝聚、足够小、代码容易理解,聚焦指定业务功能或业务需求开发简单,提高开发效率,一项服务可能特异性地只做一件事。 微服务可以在由2到5名开发人员组成的小团队中单独开发。 微服务是松散耦合的、功能性的服务,无论是开发阶段还是部署阶段都是独立的。 微服务可以用不同的语言开发。 方便与第三方集成,微服务使您能够使用Jenkins、Hudson和bamboo等连续集成工具轻松灵活地集成自动部署。 微服务容易被开发人员理解,易于修改和维护,让小团队更加关注自己的工作成果。 不合作就无法表达价值。 微服务允许你使用融合最新技术。 微服务是业务逻辑的代码,不会与HTML、CSS或其他接口组件混合。 每个微服务都有自己的存储功能,并且可以有自己的数据库。 还有统一数据库。 缺点:

开发者必须处理分布式系统的复杂性随着多服务运维的困难性、服务的增加,运维压力也在增大。 系统部署依赖于服务间通信成本的数据完整性系统集成测试性能监控……二、SpringCloud概述什么是SpringCloud?

SpringCloud是分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合,俗称微服务家族的水桶。

SpringCloud技术堆栈共包含21种技术,但我们主流的常用技术如下:

这里说明一下,springcloud部分组件停更,不再维护升级

SpringCloud的Hoxton版本与以前的版本相比,将原来的大部分组件替换为新组件,旧组件现在处于停更不停用的状况。

详细信息显示了下图(上的组件,但现在停止得更多;上的表示新的更换后组件) :

说明:服务注册中心:

Eureka :官方停止更新,已经有更好的替代产品,可以使用,但官方不推荐使用。

Zookeeper :一些旧系统以前使用Zookeeper Dubbo,但升级后发现spring cloud eureka已停止,然后将技术切换降至最低那么,我使用Zookeeper作为注册中心。

consul :用go语言开发,也是一个很好的服务注册框架,但使用量少,节目被Nacos抢走。

来自springcloudalibaba (nacos ),在企业中受到百万级注册考验的,不仅可以更换Eureka,还可以更换其他组件,所以强烈推荐是学习的重点。

服务调用:

Ribbon :已进入维护状态,更新已中止,但Spring仍在官方使用。

LoadBalancer:Spring正式发布的新组件打算取代Ribbon,但现在还处于萌芽状态。

服务调用2:

Feign:Netflix公司的产品也停止了更新。

OpenFeign:Spring社区已无法等待Netflix的更新。 然后,自己制作组件,不用Feign了。

服务降级:

Hystrix :虽然官方网站上不推荐,但在中国企业中仍在大规模使用。

Resilience4J :官方网站推荐,但国内很少使用。

sentie nl :强烈建议来自springcloudalibaba,在中国企业中更换Hystrix组件,以便在国内使用。

服务网关:

Zuul:Netflix的产品在公司内部产生了分歧,有人想自己提出Zuul2。

Zul2:也是Netflix公司准备的产品,但由于内部意见的分歧,Zul2已经胎死腹中。

网关: spring社区自己推出的网关组件,是官方介绍和非常推荐的网关服务组件。

服务配置:

Config :现在也在使用,节目被Nacos抢走了。

nacos :来自springcloudalibaba,后来居住,取代了Config。

服务总线:

总线: spring cloud本机服务总线组件目前也被Nacos抢走。

nacos :来自springcloudalibaba,后来住了,换了巴士。

综上所述,Nacos是最重要的元素,它用一个组件替换了原来的几个组件。

三. SpringCloud技术堆栈

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。