微服务(Microservice)是什么?为什么会出现微服务?

Spring Cloud MicroService 详解 微服务的特性: 1,独立运行在自己的进程中---每个服务都是一个server(基本上); 2,一系列服务共同构建起一个大的服务; 3,每个服务只关注自己的业务; 4,轻量通信机制----可以 使用rpc通信或者http进行远程服务调用; 5,可以使用不同的语言开发; ## 微服务的优点: 1,独立部署; 2,易于维护; 3,启动快; 4,局部易修改; 5,技术栈不受限制; 6,按需伸缩,可以调整每个微服务的内存大小; 7,职责专一,代码复用,便于团队协作 阅读详情

微服务(Microservice)虽然是当下刚兴起的比较流行的新名词,但本质上来说,微服务并非什么新的概念。

实际上,很多 SOA(面向服务的架构)实施成熟度比较好的企业,已经在使用和实施微服务了。只不过,它们只是在闷声发大财,并不介意是否有一个比较时髦的名词来明确表述 SOA 的这个发展演化趋势罢了。

微服务其实就是服务化思路的一种最佳实践方向,遵循 SOA 的思路,各个企业在服务化治理的道路上走的时间长了,踩的坑多了,整个软件交付链路上各个环节的基础设施逐渐成熟了,微服务自然而然就诞生了。

当然,之所以叫微服务,是与之前的服务化思路和实践相比较而来的。

早些年的服务实现和实施思路是将很多功能从开发到交付都打包成一个很大的服务单元(一般称为 Monolith),而微服务实现和实施思路则更强调功能趋向单一,服务单元小型化和微型化。

如果用“茶壶煮饺子”来打比方的话,原来我们是在一个茶壶里煮很多个饺子,现在(微服务化之后)则基本上是在一个茶壶煮一个饺子,而这些饺子就是服务的功能,茶壶则是将这些服务功能打包交付的服务单元,如图 1 所示。

论茶壶里煮“饺子”的不同形式
图 1  论茶壶里煮“饺子”的不同形式


所以,从思路和理念上来讲,微服务就是要倡导大家尽量将功能进行拆分,将服务粒度做小,使之可以独立承担对外服务的职责,沿着这个思路开发和交付的软件服务实体就叫作“微服务”,而围绕着这个思路和理念构建的一系列基础设施和指导思想,笔者将它称为“微服务体系”。

微服务是怎么来的?

微服务的概念我们应该大体了解了,那么微服务又是怎么来的?原来将很多功能打包为一个很大的服务单元进行交付的做法不能满足需求吗?

实际上,并非原来“大一统”(Monolith)的服务化实践不能满足要求,也不是不好,只是,它有自己存在的合理场景。

对于 Monolith 服务来说,如果团队不大,软件复

MicroService4Net快速搭建微服务(二) 接上一篇:http://blog.youkuaiyun.com/joyhen/article/details/70244666 对于config的配置,进行了自定义处理,主要是控制器的分离,以及控制器和action路由响应处理,如下: static void Main(string[] args) { const int apiport = 65511; 阅读详情

相关推荐

什么是微服务(Microservice)

微服务,讲了个大概

自学笔记罢了 1626

SpringCloud微服务 之 MicroService

前言 从本节课开始我们将进入学习SpringCloud Micro-Service阶段。本节我们将进入了解和学习一下有关Micro-Service Basic Points. 架构 在软件/WebService开发的中关于架构的说法业内一般分为单体架构/SOA/微服务,不过随着技术堡垒的突破和发展,在未来肯定会出现更为优秀的架构。 单体 定义: 一个归档包例如war...

Dusty丶one的博客 1511

Microservice 微服务的理论模型和现实路径

两年前接触到了微服务的概念,面对日益膨胀的系统感觉豁然开朗。之后的两年逐步把系统按微服务的架构理念进行了重构,并将业务迁移到了新架构之上。感觉现在差不多是时候写一篇关于微服务的总结文章了。 定义 在 Martin Fowler & James Lewis 的文章(参考[1])里给出了微服务架构的一个定义: 微服务架构即是采用一组小服务来构建应用的方法。 每个服务运行在独立的进

瞬息之间 1万+

Monorepo[单一代码库] 与MicroService[微服务] 架构

Monorepo: 是指单一代码库那既然有 单一代码库与之对应的就是即:MultiReposMicroService: 微服务架构Monorepo LinkMonorepo 不是一个新的东西,在软件开发行业它已经存在很久了,许多开源项目已经成功使用了单一代码库 👇🏻Larave:一个用于Web开发的PHP框架。Babel:一个用户Web开发的流行的JavaScript编译器,其单一代码库包含了完整的项目及其所有插件。React、Ember、Meteor 等前端框架都使用单一代码库。可见性(Visibi..

Chad97的博客 2209

Spring Boot+SpringCloud实现MicroService微服务中的服务发现注册Eureka

1.MicroService架构 SOA:面向服务的架构 微服务架构就是一种架构模式,将一个单体项目拆分为多个微服务,每个微服务可以独立技术选型,独立开发,独立部署,独立运维.并且多个服务相互协调,相互配合. 2.Springcloud Springcloud是一个基于Spring Boot实现的服务治理工具包,在微服务架构中用于管理和协调服务的。 Springcloud其实就是一系列框架的有序集...

weixin_44271334的博客 1053

论文:Elastic Scheduling for Microservice Applications in Clouds (云环境下微服务应用的弹性调度)

Elastic Scheduling for Microservice Applications in Clouds (云环境下微服务应用的弹性调度) 摘要: 微服务被广泛用于灵活的软件开发。最近,容器已经成为微服务的首选部署技术,因为它启动速度快,开销低。然而,容器层使任务调度和云中的自动伸缩变得复杂。现有算法不适应由虚拟机和容器组成的两层结构,经常忽略流工作负载。为此,本文提出了一种针对微服务的弹性调度(ESMS),它将任务调度与自动伸缩集成在一起。ESMS的目标是在满足期限限制的情况下最小化虚拟机的成

Hero19980512的博客 2027

Spring Cloud 学习系列:(十五)微服务跟踪链——Spring Cloud Sleuth(1)

小编在这里分享些我自己平时的学习资料,由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!程序员代码面试指南 IT名企算法与数据结构题目最优解这是” 本程序员面试宝典!书中对IT名企代码面试各类题目的最优解进行了总结,并提供了相关代码实现。针对当前程序员面试缺乏权威题目汇总这一-痛点, 本书选取将近200道真实出现过的经典代码面试题,帮助广“大程序员的面试准备做到万无一失。“刷”完本书后,你就是“题王”!

Y1567409的博客 829

Nest.js 微服务实战之搭建系统框架(基于 GraphQL 和 RPC)

最近找到一个VUE的文档,它将VUE的各个知识点进行了总结,整理成了《Vue 开发必须知道的36个技巧》。内容比较详实,对各个知识点的讲解也十分到位。有需要的小伙伴,可以点击下方卡片领取,无偿分享。

老司机的后备箱 1557

对微信《Scalable Overload Control for Large-scale Microservice Architecture》论文的解读

这几年微服务大行其道,随之而来也伴随着很多问题: 服务注册和发现(常见解决方案如Consul, ZK, etcd) 熔断和降级 (如Hystrix) … 在服务过载时, 一个常见的解决方案是熔断。以前的熔断方案基本都是各个服务独自处理的, 即如果一个服务无法处理所有的请求, 那么就抛弃一部分请求。这种粗暴的处理方式并不能缓解整个系统的负载, 并且浪费了很多计算资源,比如以下场景: 假设...

沈鸿斌的博客 1292

Microservices Management微服务的链路保护机制

Microservices Management What is a microservice avalanche the failure of a single component can lead to a crash of the entire system. The avalanche effect Solutions (1) fusing mode: This mode is mainly blown reference circuit, if a line voltage is too high

Jing的博客 427

怎样实现让每个微服务能够独立的扩展自己的性能,而不影响其他微服务的正常运行 ? Independent scaling Each microservice can be scaled

2019年下半年,微服务架构火热一时。它给架构设计者和开发者带来的便利之处在于其“细粒度”、“自治性”等特点。因此,越来越多的公司都试图将单体应用改造为微服务架构。然而,随着业务规模的扩大、应用复杂度的提升,传统的单体应用与微服务架构之间的边界也逐渐模糊起来,使得各个团队之间如何合作、应对新挑战变得尤为重要。本文着重讨论“Independent scaling”,即让每个微服务能够独立的扩展自己的性能,而不影响其他微服务的正常运行。它可以帮助应用在不增加总体容量的情况下,更好的满足用户的请求。

AI天才研究院 978

如何应用开源项目来提升微服务开发的效率? OpenSource Projects that Accelerate Microservice Dev

微服务”这个概念已经存在很久了,但真正实现微服务架构并不是一件容易的事情。现在越来越多的公司开始采用微服务架构模式,虽然微服务架构可以带来很多好处,但它也同时引入了一系列新的问题,比如微服务架构中的API网关、服务发现、分布式跟踪等等。为了更好地理解和掌握微服务架构,让更多的人能够有所收获,作者推荐了8个开源项目。本文将从微服务架构各个方面进行阐述,讨论如何应用这些开源项目来提升微服务开发的效率,以及它们是如何应对微服务架构中的各种挑战的。希望通过这些开源项目能够帮助到读者加快微服务架构的学习和实践。

AI天才研究院 1505

Spring Cloud 进阶--Rest 微服务基础模块构建

《 Rest 微服务基础模块构建 》 前言 前面进行了微服务架构风格、微服务框架以及微服务相关的理论体系的简介与介绍,本篇博文是微服务实践的开始,本篇博客主要为完成 Rest 微服务基础模块的建设,包括: 整体微服务项目的顶级(父级项目,主要为实现配置共享与版本统一管理,以及插件和资...

Spring Boot-Common On With You 712

构建你的微服务架构 Building Microservices: Applying DomainDriven Design

微服务(Microservice)是一个概念,它强调将单个应用程序中的业务功能划分成一个个独立的小服务,这些服务之间通过轻量级的通信机制互相协作,共同实现某个业务目标或价值目标。如今,越来越多的人们认为微服务架构是下一代云计算的基石,微服务架构风格也正在成为企业应用架构的一个主流架构模式。

AI天才研究院 1581

半导体设备隔振必看:如何用天棚阻尼PID控制实现VC-C级振动抑制(含SIMULINK模型)

本文深入探讨了在半导体精密制造中,如何运用天棚阻尼PID控制算法实现VC-C级振动抑制。通过构建高保真单自由度仿真模型,详细解析了从算法原理、SIMULINK实现到参数整定的全链路方案,并针对谐波扰动提供了陷波滤波器设计方法,为工程师提供了从仿真到实践的完整主动隔振技术指南。

pz89012345的博客 537

FortiGate-60E防火墙忘记密码?用Console线+TFTP重装固件v7.0.9全流程

本文详细介绍了当FortiGate-60E防火墙忘记密码且物理重置无效时,如何通过Console线连接并利用TFTP服务器重装固件(如v7.0.9)的全流程。从恢复原理、工具准备、网络配置到逐步执行命令,提供了完整的实战指南,帮助管理员彻底恢复设备出厂设置并重置密码。

snow3的博客 332

LabVIEW实战:基于DAQmx的实时正弦波生成、采集与波形图动态显示

本文详细介绍了如何使用LabVIEW和DAQmx驱动实现实时正弦波的生成、采集与动态显示。通过USB-6008数据采集卡,结合队列缓冲机制和动态波形图显示技术,构建了一个完整的信号处理系统。文章包含硬件连接、软件配置、任务设置及常见问题排查,适合LabVIEW初学者和硬件控制开发者参考。

weixin_30872337的博客 124

Oracle到金仓数据库信创改造迁移实施规划方案

**性能测试和优化**:对金仓数据库的性能进行测试,根据业务负载情况进行必要的调优,确保系统能够稳定高效运行。- **数据兼容性**:评估Oracle数据库中的数据结构和金仓数据库的兼容性,明确需要重构的数据模型。- **性能测试**:通过对金仓数据库的性能测试,预估在实际业务环境下的表现,是否能达到业务需求。- **工具选择**:选择适合的迁移工具,如金仓数据库提供的迁移工具,能够提升迁移效率和准确性。- **全面迁移**:在初步迁移成功后,进行全面数据迁移,确保所有数据完整迁移到金仓数据库上。

hdrhdrjdididrr的博客 480

数字设计与计算机体系结构习题答案,数字设计和计算机体系结构习题答案DigitalDesignandComputerArchitecture.pdf...

数字设计和计算机体系结构习题答案DigitalDesignandComputerArchitecture.pdfDavid Money Harris and Sarah L. Harris, Digital Design and Computer Architecture, © 2007 by Elsevier Inc.Exercise SolutionsC H A P T E R ...

weixin_39851408的博客 1785

ransac拟合2D圆(三点定圆 c++详细版)

RANSAC(Random Sample Consensus,随机采样一致性)算法是一种基于随机采样的迭代算法,主要用于从一组包含大量噪声和异常值(外点)的数据中估计数学模型的参数。

twnkie的博客 1046

TI单芯片毫米波雷达1642demo代码走读(一)

今天我们来实际看下代码。 首先使用CCS软件导入demo工程,工程有两个,一个是ARM的工程,工程名是mmw_mss_16xx;另一个是DSP的工程,工程名为mmw_dss_16xx。我们将这两个工程的主函数打开,分别位于mss_main.c和dss_main.c文件中。 先看mss的主函数,代码如下。我为每行代码都加了中文注释和自己的理解。 int main (void) { Task_Params taskPara...

1万+

【C++】ROS:ROS1环境配置与基础示例

ROS1环境配置与基础示例

DevFrank的博客 2102

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: Spring Boot框架入门教程(快速学习版)
下一篇: 微服务的好处(优点)有哪些?
David Chen-Loving
博客等级 码龄8年 4粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值