Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >微服务架构学习精要(一)

微服务架构学习精要(一)

作者头像
希望的田野
发布于 2019-09-24 03:25:55
发布于 2019-09-24 03:25:55
4170
举报
文章被收录于专栏:信息化漫谈信息化漫谈

一、架构师、技术专家区别

架构师关注知识的广度,而技术专家偏向某一个专业领域的深度。如果我们想成为一名架构师,那么不应该把所有的精力都投入在某个技术领域而是需要分散关注面,在众多领域都要有一定的深度。其次,架构师除了具备技术硬技能,还需要在沟通、组织、学习等技能做好发展。因为没有好的软实力,架构师则无法将自己的架构顺利移交程序,并指导他们落地。

架构师的职责是什么:制定规范+指导落地。就好像两条腿走路,左腿向前制定规范,右腿关注落地实施。

二、软件架构的演进

1、没有架构

早期的系统没有分层,所有界面、逻辑都混在一起,对于小型业务系统效率较高。但随着业务系统的扩展,可维护性很差。

2、基于MVC的分层架构

为便于同一个公司的业务开展,将程序架构分为了界面、控制、模型层。界面负责展现、控制层贯穿整个业务流程、模型主要是业务逻辑、数据逻辑。如在java中,曾经著名的SSH架构,Struts主要是界面、Hibernats主要是模型,Spring主要是控制层。

3、面向服务的SOA

将服务分拆为多个模块,中间有服务中间件,如IBM Websphere。臃肿的中间件,造成了效率下降、成本的上升。

4、更加拆分的微服务架构

为解决SOA的极端中心化、服务拆分颗粒度仍比较大的问题,以Docker的轻量化的技术加速了微服务的推广。

三、微服务与SOA的本质区别

微服务一向被认为是云中心化,但下图微服务的架构中,仍然有注册中心等中心组件。实际,微服务强调去带业务的中心,而非技术中心。例如,两业务模块通信不再通过SOA的复杂路由、数据转发。

四、如何进行微服务治理

1、梳理业务流程。业务需求是一切技术的根源,了解真实的业务流程,并将其疏理成为业务流程图。对于业务的疏理花再多的时间,也是值得的。

2、抽取公共服务模块。例如将用户管理、短信发送等所有业务都需要的模块首先抽取出来,作为公共的微服务模块。

3、定义业务服务。初期我们可以将业务服务的模块定义得大一些,后期再进行逐步的细分。业务模块应保障功能的相对独立,避免过多的模块间业务通信。

4、设计数据模型。也就是定义数据库的表结构、相互表之间的逻辑关系。该步骤如果设计不合理,后期的改造成本非常高。

5、定义微服务的接口。也就是相互间通信的共同语言。如用户微服务模块应有查询、注册、改密码等功能。同时建议接口API名应全局唯一,并带上版本号。这样便于后期注册中心的统一管理。

五、微服务部署架构

1、当开发代码、配置文件完成后,通过Docker镜像的封装,放入镜像仓库中。

2、当服务启动时,由部署中心根据业务负载、业务需求下发服务容器的加载。

3、服务容器启动完成后,将向注册中心注册服务。

六、微服务运行架构

1、当用户通过app、web调用微服务时,首次将通过“调用中心”,调用中心通过注册中心查询服务所在的ip、port。

2、随后调用中心将信息返回给用户,用户直接与调度中心进行反向代理的信息交互。微服务强调云中心化,调用中心参与业务越少越好。

3、服务容器在运行过程中,将运行日志写入日志中心,将彼此服务间的调用写入追踪中心,通过各中心的数据分析、记录作为后期的分析、优化依据。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 信息化漫谈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
转 微服务架构
一、微服务将变得轻量级 架构需要由人去设计,这些人被称为架构师。或许很多人并未授予架构师的头衔,但自己却从事着架构的工作。我们认为,架构这项工作永远都需要由人去完成,可能短期内都无法由机器来取代。如果我们不理解什么是架构,或者对架构师的职责感到疑惑,那么很难让架构这项工作有效地落地。我们将在本节重新认识架构,并重新定义架构师的职责。此外,架构演进是一个曲折的过程,但我们却不难看出架构的发展规律,甚至还能推测出架构将来的发展趋势。我们相信,微服务一定不是架构的终点,它或许只是架构从重量级转型为轻量级的桥梁,我
用户1220053
2018/06/06
5750
云原生之微服务架构
傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。--------王小波
山河已无恙
2023/01/30
9710
云原生之微服务架构
微服务架构解析:跨越传统架构的技术革命
微服务架构(Microservices Architecture)是一种软件架构风格,它将一个大型的单体应用拆分为多个小而独立的服务,每个服务都可以独立开发、部署和扩展。每个微服务通常聚焦于某一个特定的业务功能或领域,能够通过轻量级的通信协议(如 HTTP/REST、消息队列等)与其他微服务进行交互。
用户7954602
2024/12/07
7420
微服务架构解析:跨越传统架构的技术革命
关于微服务架构,你需要关注的那些点
今天谈到系统架构模式,很难不联想起微服务架构。企业或组织在系统架构的实践过程中,从最初的单体架构,之后走向 SOA,逐渐分布式之后,最终产生了微服务架构。
java思维导图
2018/10/24
1.2K0
关于微服务架构,你需要关注的那些点
传统企业微服务架构转型-从问题分析到规划实施
今天继续谈下传统企业微服务架构转型方面的内容,从最基本的问题诉求出发,到整体解决方案的思考,再到开发前的准备,开发和实施工作的重点分析等。
人月聊IT
2025/06/24
960
传统企业微服务架构转型-从问题分析到规划实施
传统单体架构到微服务化架构的演进之路
Java EE将企业级软件架构分为三个层级: Web 层、业务逻辑层和数据存取层,每个层次的职责分别如下。
小熊学Java
2023/07/16
8200
传统单体架构到微服务化架构的演进之路
Java开发中使用微服务必须要了解之:Spring Cloud在架构演进中起到的作用传统架构发展史SOA和微服务架构微服务架构总结
Spring Cloud作为一套微服务治理的框架,几乎考虑到了微服务治理的方方面面,本篇主要解答这两个问题:Spring Cloud在微服务的架构中都做了哪些事情?Spring Cloud提供的这些功能对微服务的架构提供了怎样的便利? 传统架构发展史 单体架构 单体架构在小微企业比较常见,典型代表就是一个应用、一个数据库、一个Web容器就可以跑起来,比如我们开发的开源软件云收藏,就是标准的单体架构。 在两种情况下可能会选择单体架构:一是在企业发展的初期,为了保证快速上线,采用此种方案较为简单灵活;二是
Java架构
2018/05/04
1.1K0
Java开发中使用微服务必须要了解之:Spring Cloud在架构演进中起到的作用传统架构发展史SOA和微服务架构微服务架构总结
一直在谈微服务,你知道分布式多中心架构是什么吗
由于我们一直从事的是传统企业的架构改造工作,所以对新兴的互联网企业如何实施微服务架构并没有实践过。在写这一章之前,我在架构群里和曾经实施过微服务架构的互联网企业的架构师进行了交流,结果是深深的失望。我看到互联网企业为了快而失去的那些我觉得必不可少的能力,看到了以“简单即美”为借口的粗糙。
Bug开发工程师
2019/07/12
8490
一直在谈微服务,你知道分布式多中心架构是什么吗
谈基于平台+应用思想下的企业微服务架构转型
今天准备再详细讲解下传统企业微服务架构转型,在中台概念没有出来之前,我们在构建企业内部私有云PaaS平台的时候,已经提出了平台+应用的构建思想。而这个思想在当前中台,微服务架构下仍然适用。
人月聊IT
2025/06/24
990
谈基于平台+应用思想下的企业微服务架构转型
微服务架构体系
分布式关注的是服务分开部署,也就是如何将单一服务部署,变为多服务部署(垂直+水平拆分)。 微服务关注的是服务拆分力度,即:一个服务要拆分到多大的维度合适
架构之家
2022/07/12
9240
微服务架构体系
基于统一开发平台的微服务架构转型升级之路 | 某国有大型银行案例
某银行是一家国有大型银行,从2016年开始采用了我们的SOA开发平台作为基础Java开发平台。
yuanyi928
2018/11/23
2.2K0
微服务架构(Microservices architecture)
Microservices 是一种服务组织形式,很难有一个特别明确的定义,更多的是技术开发人员总结出来的一些共识。通常来说微服务架构包含一组「独立部署」的小服务,共同完成一个应用。
一行舟
2022/08/25
3940
微服务架构(Microservices architecture)
SpringCloud——微服务介绍+系统架构
* 全部功能集成在一个工程中,对于大型项目来讲不易开发和维护* 项目模块之间紧密耦合,单点容错率低* 无法针对不同模块进行针对性能优化和水平扩展
用户10196776
2022/11/22
1.2K0
SpringCloud——微服务介绍+系统架构
传统企业IT架构和微服务转型-从需求问题到实施策略
在前面头条文章中我分享过钟华老师的《企业IT架构转型之道》这本书的读书笔记,这本书基于阿里的中台战略,服务中心,SOA服务治理给出了相对多的最佳实践,也给了传统企业转型很多有借鉴意义的思考,但是对于传统企业IT架构转型还是有许多问题值得思考。
人月聊IT
2025/06/24
690
传统企业IT架构和微服务转型-从需求问题到实施策略
微服务架构是什么
架构师在软件行业一直有很高的位置,并且在开会中的架构师都带有主角光环。 架构师是可以说是软件的设计者,运用我们学会就会忘记的23种设计模式、企业架构模式、面向对象编程,来设计系统基础架构。基础架构开发完成后,程序员就可以愉快的在系统的基础框架里舔砖加瓦,最终完成项目的开发。
Java架构师历程
2018/09/26
1.4K0
微服务入门学习:SpringCloud、SOA、集群、分布式学习
微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。
程序员洲洲
2024/06/07
1820
微服务入门学习:SpringCloud、SOA、集群、分布式学习
【微服务架构丨主题周】击败SOA的微服务架构为何会赢得人心?
据说,早在 2011 年 5 月,在威尼斯附近的一个软件架构师研讨会上,就有人提出了微服务架构设计的概念,用它来描述与会者所看得见的一种通用的架构设计风格。时隔一年之后,在同一个研讨会上,大家决定将这种架构设计风格用微服务架构来表示。
博文视点Broadview
2020/06/12
3990
【微服务架构丨主题周】击败SOA的微服务架构为何会赢得人心?
应用技术架构 —— 微服务架构
在 2010s 进入移动互联网(web3.0)时代,互联网用户规模再次迎来井喷式增长,面向服务的技术架构在服务海量规模用户时显得力不从心。SOA 架构中 ESB 存在单点以及 RPC 中缺少服务的治理能力,ESB 和 RPC 架构都很难满足移动互联网海量用户的要求,微服务开始出现,并成为今天技术架构的主流。
腾讯云 CODING
2022/03/16
1.9K0
应用技术架构 —— 微服务架构
金融行业微服务架构解析
对于微服务,每个人都有自己的理解,与互联网企业的大量落地相比,微服务在传统金融行业还没有普及,这首先是传统金融行业线上系统需求更新和版本迭代没有互联网公司那么频繁;其次是技术能力约束了新技术的落地;再者传统金融行业对系统可用性和稳定性的要求非常高。
yuanyi928
2019/07/12
2.5K0
金融行业微服务架构解析
从微服务架构实施看企业数字化转型
摘要: 1. 为什么说企业数字化转型需要进行微服务架构升级 主要描述传统企业IT应用受互联网冲击的大背景,引出传统企业转系需要在架构上向互联网企业学习。 2. 传统企业实施微服务架构的难点是什么:历史包袱太重 从传统企业应用和互联网企业应用的不同特点说起,讲述传统企业架构升级微服务 过程中的一些重点关注的内容、方法和建议。 3. 传统SOA和微服务差别在哪:运行期的快速变更能力不同 讲述SOA与微服务的差异,进而介绍微服务改造的一些关键点。 4. 实施微服务,第一步干什么 : D
yuanyi928
2018/04/02
1.5K0
从微服务架构实施看企业数字化转型
推荐阅读
相关推荐
转 微服务架构
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档