微服务框架为什么选择Spring Boot作为微服务的入门级微框架

微服务框架  时间:2021-08-18  阅读:()

如何使用 java 构建微服务

在Java生态中,构建微服务的策略包括Container-less,Self-contained,以及In-container等。

Container-less微服务将应用及其依赖打包成一个单一的jar文件。

Self-contained微服务也是打包成一个单一的Jar文件,但它还包括一个嵌入式框架,这个框架含有可选的第三方lib,当然这些lib是兼容的。

In-container微服务打包成一个完整的Java EE容器,该服务在Docker镜像中实现。

基于微服务的架构给架构师和开发者带来了新的挑战,然而,随着语言的升级和工具数量的增加,开发者和架构师完全有能力应对这样的挑战。

Java也不例外,本文探讨了在Java生态系统内构建微服务的不同方法。

为什么说要搞定微服务架构,先搞定RPC框架

无论是SOA还是微服务,核心都是RPC框架。

如果没有统一的RPC框架,各个团队就需要实现自己的一套序列化、反序列化、网络框架、连接池,线程池、超时处理等“业务之外”的重复劳动,所以统一RPC框架,是服务化首先要解决的问题。

现阶段,外界RPC框架众多,如果没有特殊需求,并不需要自研一套。

无服务架构和微服务器架构的区别

微服务架构中有两个阵营,一是坚持微服务是无状态的HTTP API服务,另一阵营认为微服务本身就要求把整个系统当做一个完整的分布式应用来对待,而不是原来那种把各种组件堆积在一起,“拼接”系统的做法。

无服务架构就是原来那种把各种组件堆积在一起,拼接系统的做法。

微服务架构 如何影响传统的软件架构设计

ThoughtWorks首席咨询师王磊通过一个互联网门户案例为大家解释了微服务架构的概念,以及它如何影响传统的软件架构设计。

一年前,该门户每签一个10万的合同所耗费的成本是3.5天。

他们当时的CRM结构是典型的三层架构,整个应用程序由一个40万行的代码库组成,后端有一个主动的数据库。

虽然使用三层架构的成本比较小,但随着代码和功能的增加,代码库不断膨胀,修改代码存在的风险很大,整个维护成本也变得越来越高。

每当开发人员提交代码后,所需的数据集成和构建需要50分钟,意味着每天8小时工作时间最多能有9次代码提交。

但为了系统的稳定性,持续集成过程中要尽量避免提交代码,因此,整个团队的交付能力受到了限制。

此外,从准备部署包到上线需要3天,3天后才能让用户真正用到部署包,才能实现价值。

而如果增加新人,要开发新的环境,包括测试和产品环境,培养周期会很长。

针对以上难题,ThoughtWorks制定了如何在团队中对系统进行改造从而满足业务需求的策略。

将现有的系统保护起来,把所有开发新功能的优先级都降下来,只需对系统做最紧急的修改,其他和部门进行协商,让团队保持新的精力和时间在重要的业务上。

功能剥离。

通过定义新服务,在前端用一些代码的机制让用户逐渐访问新服务,可以达到从原有系统抽出小功能,让客户访问小功能。

数据解耦。

对于庞大的系统,因为无法很快将所有系统换掉,所以为了保证系统仍然可用,要启用数据同步机制,让服务里的数据同步到原有数据库。

渐进替换。

通过不断地运行以上策略,将原有系统的复杂功能抽离出来用新的方式来做。

目前,每签一个10万的合同所耗费的成本由3.5天变为1天,持续集成构建从50钟降低到18分钟,团队成员从10人降到7人,部署周期由3天降到2小时。

对于每个应用程序,可能有一组小的服务组成,每个服务运行在自己的进程中,服务与服务之间通过轻量级的机制进行交互。

那么,如何使用微服务做系统改造呢? 为每个服务建立独立的环境,包括基础设施、持续集成环境、运维、监控、日志聚合、报警。

不断演进的微服务开发模板,发现问题及时修改,让模板更高效。

轻量级的通信协议。

消费者的契约测试,解决随着服务增多带来集成测试效率低的问题。

基础设施自管理,帮助管理自己需要的资源。

为什么选择Spring Boot作为微服务的入门级微框架

简单来说,因为上手简单 spring mvc相较于struts清爽太多,但是仍需要配置,这些配置一定程度上提升了入门的难度,需要一定的学习,而spring boot几乎做到了零配置(大量默认配置,当然可以修改的),简单几行代码就可以实现请求响应的过程,一个稍微有点儿Java基础的人,即使没有丝毫的spring知识,上手spring boot,实现简单接口的开发,几天就可以摸清楚,熟悉了之后对后期系统学习spring和spring mvc都有好处(想一想,公司使用spring boot,刚入职的新人毕业生什么的,不到一个礼拜就可以干活。







【IT狗】在线ping,在线tcping,路由追踪

IT狗为用户提供 在线ping、在线tcping、在线路由追踪、域名被墙检测、域名被污染检测 等实用工具。【工具地址】https://www.itdog.cn/【工具特色】1、目前同类网站中,在线ping 仅支持1次或少量次数的测试,无法客观的展现目标服务器一段时间的网络状况,IT狗Ping工具可持续的进行一段时间的ping测试,并生成更为直观的网络质量柱状图,让用户更容易掌握服务器在各地区、各线...

稳爱云(26元),香港云服务器 1核 1G 10M带宽

稳爱云(www.wenaiyun.com)是创建于2021年的国人IDC商家,主要目前要出售香港VPS、香港独立服务器、美国高防VPS、美国CERA VPS 等目前在售VPS线路有三网CN2、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。机房采用业内口碑最好香港沙田机房,稳定,好用,数据安全。线路采用三网(电信,联通,移动)回程电信cn2、cn2 gia优质网络,延迟低,速度快。自行封装的...

妮妮云香港CTG云服务器1核 1G 3M19元/月

香港ctg云服务器香港ctg云服务器官网链接 点击进入妮妮云官网优惠活动 香港CTG云服务器地区CPU内存硬盘带宽IP价格购买地址香港1核1G20G3M5个19元/月点击购买香港2核2G30G5M10个40元/月点击购买香港2核2G40G5M20个450元/月点击购买香港4核4G50G6M30个80元/月点击购买香...

微服务框架为你推荐
一致性数据库事务的一致性是什么意思?bftBFT、什么東西噢、什么意思、解釋下。diskgenius免费版给我发一个 DISKGenius恢复数据破解版的可以吗,或者其他破解版的也可以,只要能恢复数据,感激不尽,...linux安装教程linux怎么安装啊横幅广告如何在应用中添加Admob横幅广告爬虫网如何自己写一个网络爬虫色温图数码相机上面色温小图标的详细作用qsv视频格式转换器如何免费把qsv格式转换为mp4格式无线呼叫系统什么是无线呼叫器?无线呼叫系统我需要一些无线呼叫器用在餐厅里,在网上看了一下全国各地的呼叫器,不知道哪一家的比较实惠好用,众说纷纭,搞不清楚,该怎么选择呢?
如何注销域名备案 5折 视频存储服务器 2014年感恩节 香港cdn nerd 万网优惠券 太原联通测速平台 183是联通还是移动 135邮箱 免费ftp 电信网络测速器 测试网速命令 如何登陆阿里云邮箱 服务器防御 镇江高防服务器 .htaccess 美国主机 cdn加速技术 windowsserver2012 更多