1. 首页 > 快讯

SpringBoot 微服务架构进阶实践

大家好,今天来为大家解答SpringBoot 微服务架构进阶实践这个问题的一些问题点,包括也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

传统的微服务即将到期。这不是一个虚张声势的标题。三年前Kubernetes刚出现的时候,我以为这个东西三年左右就会普及。毕竟,这是谷歌十多年来容器编排的精髓。今天我要重点讲的是网格服务。

服务架构的演进微服务初期产生了:springCloud、dubbo等微服务框架,大部分服务治理(熔断、限流、服务编排、服务链路跟踪)功能都强烈依赖于框架甚至业务代码。

KubernetesKubernetes是一款优秀的软件产品,在一定程度上解决了微服务所需的应用编排、扩展等问题。但在流量管理、日志记录、监控、指标测量等场景下能力有限。

网格化服务可以理解为是kubernetes中期的产品(也许还没接触到kubernetes早期产品就过去了)。网格服务可以弥补Kubernetes 的不足,提供更丰富的服务管理解决方案。

回顾一下我们在微服务的青葱岁月里犯下的傻事!

项目开始老板:他说我们要与时俱进,要用微服务。发展:没问题。服务开始拆分,引入springCloud或者dubbo等框架并完成。 (就这么简单,没有人比我更懂微服务了!)上线运行老板:既然有了微服务,我们现在是不是可以像大公司一样不停机发布呢?开发:我们只是把服务拆分了,如果不做其他事情的话,目前我们做不到这一点。开发:微服务太难实现。日志、监控、异常排查、服务部署的成本比以前高出数倍。

填坑之路引入了大量中间件,代码结合嵌入式辅助功能,实现日志采集、业务链路监控、智能网关、断路器等。多语言异构系统:中间件难以兼容,springCloud支持的微服务功能大部分只适用于Java。等等(等等,这太痛苦了)当我第一次看到kubernetes时,我认为它可以拯救世界。

Kubernetes 提供服务发现、配置管理、负载均衡和网关。既然如此,是否可以不再需要注册中心和服务治理框架,只基于Kubernetes构建微服务系统呢?

很多企业都在这方面做出了尝试。经过尝试,他们发现在治理功能的丰富性和大规模集群的效率方面还存在一些不满意。

流量管理能力不足—— 缺乏断路器能力,无灰度控制能力;大规模使用时的性能问题—— 基于Kubernetes Service 的服务发现过程需要经过Iptables 或IPVS 搜索过程,当集群规模较大时,性能影响会更加明显。日志、链路监控、指标测量等仍然需要额外的组件,需要在业务代码中添加辅助代码。目前比较成熟的解决方案:使用Kubernetes部署+Spring Cloud(或Dubbo等)。该解决方案在语言和框架依赖性方面相对有限。

出身豪门,不仅长得好看,而且还有能力(心碎)

以Istio为代表的网格服务的出现,彻底克服了传统微服务在服务数量大、多语言、安全、网络流量控制、可观察性等方面的挑战。

业务和服务治理逻辑完全分离(无语言或框架依赖),更灵活细粒度的流量管理监控、日志、链路跟踪提供编辑和统一规范

官网定义的四大功能偷偷告诉你:在服务网格世界中,消费者和生产者不需要引入额外的注册中心,服务直接部署和通信。这一点在网格服务中不值一提,只是为了给没见过世面的人开开眼界,免得其他太深奥的东西不懂就失礼了。

没有复杂的服务搭建/框架图,直接看一些案例:

案例的服务架构图此示例部署了一个应用程序,该应用程序演示了各种Istio 功能,并由四个独立的微服务组成。该应用程序模仿在线书店中的类别并显示有关书籍的信息。该页面会显示图书的描述、图书详细信息(ISBN、页码等)以及关于图书的一些评论。

产品页面。该微服务将调用详细信息和评论微服务来生成页面。细节。该微服务包含书籍信息。评论。该微服务包含与书籍相关的评论。它还调用评级微服务。 (有3个版本)评级。该微服务包含由书评组成的评级信息。

以下是浏览器效果图

案例1 流量A/B 测试

A/B 流量测试案例1

A/B 流量测试2 是同一系统。 Jackson登录和未登录看到的界面效果是不一样的。所有这一切都归功于Istio,而不是您的代码设置。 (想想这么受欢迎的功能,你是否曾经一次又一次地在自己的代码中插入大量隐藏点/配置?)

案例2 服务链路跟踪

产品页面上访问详细信息、评论和评级的链接一目了然。这种链接跟踪不需要将额外的代码插入到您的代码或框架中。

案例3 监控

虽然很常见,但没用过就不知道它有多方便、有多香。部署脚本演示

灵活的流量设置

轻松实现故障植入的功能就在这里。如果你有兴趣的话,还是要自己去尝试一下。关注RJ 不仅仅限于编程。后期会有具体的环境搭建和安装(具体是文章还是视频)

如果你还想了解更多这方面的信息,记得收藏关注本站。

用户评论

汐颜兮梦ヘ

这篇文章提到的内容会不会有点过于绝对?现在的 Spring Boot 还是很受欢迎的啊。

    有9位网友表示赞同!

滴在键盘上的泪

我觉得微服务架构本身并没有问题,只是过度使用可能会带来一些复杂性。

    有7位网友表示赞同!

日久见人心

随着云原生技术的兴起,传统的微服务架构确实面临了一些挑战,但未必是要被淘汰彻底吧。

    有8位网友表示赞同!

独角戏°

有什么新的技术能替代微服务架构了?好奇想了解一下。

    有14位网友表示赞同!

心已麻木i

文章的观点很有意思,我最近也在思考是不是需要重新评估微服务架构的使用方式。

    有19位网友表示赞同!

伤离别

很多公司都尝试过微服务架构,但实际效果却没达到预期?

    有7位网友表示赞同!

◆乱世梦红颜

对大型项目来说,微服务架构确实能带来很多益处,可小型项目可能并不适合。

    有8位网友表示赞同!

淡抹烟熏妆丶

学习 Spring Boot 微服务的知识也有一定成本,如果真的要被淘汰岂不是很浪费时间精力呢。

    有14位网友表示赞同!

虚伪了的真心

我觉得还是要看具体的应用场景,并不是说微服务架构就一成不变的。

    有20位网友表示赞同!

一生只盼一人

新技术总是不断发展进步,对旧技术的抛弃也是一种必然趋势吧。

    有12位网友表示赞同!

我一个人

文章提到的观点很有启发性,让人意识到要及时跟进科技的发展趋势。

    有6位网友表示赞同!

幸好是你

现在是不是有很多公司开始转向服务自治或其他架构?

    有18位网友表示赞同!

余笙南吟

感觉这个标题有点吓人,会不会是新闻过度渲染呢?

    有5位网友表示赞同!

水波映月

微服务架构的未来还很长远,不用太过于悲观看待它的发展吧。

    有17位网友表示赞同!

海盟山誓总是赊

我更想了解作者提出的替代方案是什么?

    有18位网友表示赞同!

素婉纤尘

或许微服务架构会朝着新的方向发展,而不是被完全淘汰?

    有7位网友表示赞同!

长裙绿衣

我觉得技术的发展总是循序渐进的,没有一个技术是绝对不变的。

    有10位网友表示赞同!

等量代换

学习新技术永远是一件好事,即使这个旧的知识可能会被淘汰,也能在学新的过程中受益。

    有7位网友表示赞同!

容纳我ii

对于开发者来说,要关注技术趋势,不断学习和提升自己才是最重要的!

    有9位网友表示赞同!

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/6759.html

联系我们

在线咨询:点击这里给我发消息

微信号:666666