热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

微服务给传统架构带来哪些改变

早在1996年,Gartner最早提出SOA(面向服务架构)的概念,早期的SOA的实现方式主要是WebService,通过契约发布,契约描述,服务实现的流程来构建。早期SOA主要是

  早在1996年,Gartner最早提出SOA(面向服务架构)的概念,早期的SOA的实现方式主要是WebService,通过契约发布,契约描述,服务实现的流程来构建。早期SOA主要是解决软件与软件之间跨开发语言、跨平台的交互问题。在传统业务中WebService也算是补足业务的通讯问题。

  而微服务(MicroService For SOA)的提出,则是彻底要改变原有的开发架构,而不是补足作用。由于移动互联网的迅猛发展,开发与迭代速度越来越快。尤其是多个终端,多个平台的业务愈发的迅速发展。传统的单体模式开发架构显然已不和时宜。多个平台功能的不同步性愈发突出。业务与界面耦合性没有彻底解决,并且或多或少的存在维护问题。导致更换界面与迁移平台的成本大幅上升。早期人们就开始想有没有办法解决业务逻辑与平台的分离,他们想到WebService和其他RPC的方式,但是应用过程中发现WebService的私有协议过重,在移动平台上调用显得过于费时费力;那么RPC呢?RPC的标准参差不齐,违背互联网的开放协作原则。简单的说:传统的单体软件没有真正做到一次开发业务,跨设备、跨平台使用。不断重构界面衔接层(MV*中P,VM,C层)的代码,并且业务耦合性没彻底解决。

  微服务油然而生,通过简单的HTTP协议进行服务,抛弃以往又笨又重或者不兼容的服务协议。为了更好使用服务进行交互,人们想起Roy Thomas Fielding在他2000年的提出的RESTful风格的服务架构。通过简单的契约,更快、更好的构建通用的服务。从此业务的互通性得到了很好的解决,不断有公司尝试新的架构。

  通过将业务的调用接口粒度化的暴露出来,用简单的API文档说明业务流程。任何消费端都可以最快的使用业务。不必关系业务细节,从而快速的将业务部署到任何消费端。

  微服务带来一个结果就是:服务端重点关心 Model 层;客户端重点关心 View 层与 Presenter 或 Controller 或 ViewModel 层;分离了关注点的同时提高了开发效率。

  微服务能像传统业务一样可以部署在任何HTTP的服务器上不需要特殊的机制,并且能很好的利用HTTP协议的特征,只要能理解HTTP的基本特征就可以很快上手使用。

如图:传统单体架构(紧凑型业务逻辑,多种技术混合使用)

技术分享

如图:微服务架构(松散型业务逻辑,统一部署或分布式部署,一个技术面面俱到)

技术分享

微服务给传统架构带来哪些改变


推荐阅读
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 本文详细介绍了cisco路由器IOS损坏时的恢复方法,包括进入ROMMON模式、设置IP地址、子网掩码、默认网关以及使用TFTP服务器传输IOS文件的步骤。 ... [详细]
  • 使用Docker安装和运行Nexus
    本文介绍了使用Docker安装和运行Nexus的方法,包括docker-compose.yml配置和启动时可能出现的权限问题解决方法。同时提供了登录控制台验证安装的地址和登录信息。 ... [详细]
  • 初学SpringBootch06接口架构风格 RESTful
    ch06-接口架构风格RESTful1.1认识RESTful1.1.1RESTful架构风格1.2RESTful注解1.3RESTful风格的使用1.3.1加入Maven依赖1.3 ... [详细]
  • 1223  drf引入以及restful规范
    [toc]前后台的数据交互前台安装axios插件,进行与后台的数据交互安装axios,并在main.js中设置params传递拼接参数data携带数据包参数headers中发送头部 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
  • 本文介绍了MVP架构模式及其在国庆技术博客中的应用。MVP架构模式是一种演变自MVC架构的新模式,其中View和Model之间的通信通过Presenter进行。相比MVC架构,MVP架构将交互逻辑放在Presenter内部,而View直接从Model中读取数据而不是通过Controller。本文还探讨了MVP架构在国庆技术博客中的具体应用。 ... [详细]
  • BPM是什么软件?1、BPM是BusinessProcessManagement的简称,译为业务流程管理,它是一种以规范化的构造端到端的卓越业务流程为中心以持续的提高组织业务绩效为 ... [详细]
  • TiDB | TiDB在5A级物流企业核心系统的应用与实践
    TiDB在5A级物流企业核心系统的应用与实践前言一、业务背景科捷物流概况神州金库简介二、现状与挑战神州金库现有技术体系业务挑战应对方案三、TiDB解决方案测试迁移收益问题四、说在最 ... [详细]
author-avatar
飞扬8989_100
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有