微服务框架为什么选择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,刚入职的新人毕业生什么的,不到一个礼拜就可以干活。







819云互联 香港 日本 美国 2核4G 18元 8核8G 39元 免费空间 免费CDN 香港 E3 16G 20M 230元/月

819云互联是海外领先的互联网业务平台服务提供商。专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,并引导云计算在国内普及。目前平台研发以及运营云服务基础设施服务平台(IaaS),面向全球客户提供基于云计算的IT解决方案与客户服务,拥有丰富的海外资源、香港,日本,美国等各国优质的IDC资源。官方网站:https://www.819yun.com香港特价物理服务器:地区CPU内存带宽...

DiyVM独立服务器:香港沙田服务器,5M带宽CN2线路,L5630*2/16G内存/120G SSD硬盘,499元/月

diyvm怎么样?diyvm商家VPS主机均2GB内存起步,三个地区机房可选,使用优惠码后每月69元起;DiyVM独立服务器开设在香港沙田电信机房,CN2线路,5M带宽,自动化开通上架,最低499元/月,配置是L5630*2/16G内存/120G SSD硬盘。DiyVM是一家成立于2009年的国人主机商,提供的产品包括VPS主机、独立服务器租用等,产品数据中心包括中国香港、日本大阪和美国洛杉矶等,...

月神科技:香港CN2/洛杉矶CN2/华中电信高防vps,月付20元起

月神科技怎么样?月神科技是由江西月神科技有限公司运营的一家自营云产品的IDC服务商,提供香港安畅、香港沙田、美国CERA、华中电信等机房资源,月神科技有自己的用户群和拥有创宇认证,并且也有电商企业将业务架设在月神科技的平台上。目前,香港CN2云服务器、洛杉矶CN2云主机、华中电信高防vps,月付20元起。点击进入:月神科技官方网站地址月神科技vps优惠信息:香港安畅CN2-GIA低至20元核心:2...

微服务框架为你推荐
配色表调色表,谢谢!免费qq号谁有免费的QQ号和密码可以用的?blastpblast 和bomb的区别cs躲猫猫CS1.6捉迷藏具体的玩法?diskgenius免费版diskgenius免费版怎么用运行时错误1004ipad下载时出现错误1004是怎么回事?该怎么解决?赵锡成上海交大有什么好玩的微信收费谁知道微信咋玩,怎么收费。空间图片qq空间图片blacken“人非圣贤孰能无过”用英语怎么说
天津虚拟主机 网页空间租用 域名服务器是什么 免费二级域名申请 万网域名管理 万网域名证书查询 云网数据 bbr 主机点评 webhosting 好看的留言 国外php空间 全能主机 国外在线代理 世界测速 电信虚拟主机 无限流量 smtp虚拟服务器 网购分享 中国linux 更多