微服务与单体服务

什么是微服务?

微服务是一种系统架构的设计风格,主旨是将原本复杂的系统拆分成多个独立的小型服务,每个服务维护自身的业务逻辑、数据处理及部署,服务与服务之间通过简单的通信协议进行通信(比如restful API),不要求每个微服务使用同一种编程语言编写。

微服务优缺点?

可参考 https://blog.csdn.net/Leon_cx/article/details/81487547

优点归纳为以下几点:

缺点:

- 运维层面上,运维需要维护的服务更多了
- 问题难定位,单体项目日志集中在一起,出现问题好定位,而微服务通过日志去定位问题比较困难
- 微服务的雪崩问题,由于网络的不稳定性,不可能保证每个服务100%可用,如果某个服务发生问题,可能会导致依赖服务阻塞,最终引发雪崩效应
- 分布式的复杂性,由于服务都独立部署,事物问题、网络延迟等问题会增大业务的复杂性

缺点的解决方案:
- 运维层面上可以写自启动脚本
- 定位问题方面可以将日志文件写到一起
- 雪崩问题可以添加服务可用性监控
- 分布式复杂性问题,可以使用分布式事务解决事物问题

虽然使用为服务会带来一些问题,但是每当遇到问题,都会产生解决方案。相对于微服务带来的好处,微服务在一些大型服务上的使用前景还是很乐观的。

文章取自: https://blog.csdn.net/Leon_cx/article/details/81487547

感谢博主  Lebron_Chen 的贡献

原文地址:https://www.cnblogs.com/zhanghaibin16/p/11785933.html

时间: 2024-10-04 13:40:40

微服务与单体服务的相关文章

【CHRIS RICHARDSON 微服务系列】使用微服务重构单体应用-7

编者的话 |本文来自 Nginx 官方博客,是「Chris Richardson 微服务」系列的最后一篇.第一篇介绍了微服务架构模块,并且讨论了使用微服务的优缺点.随后的文章讨论了微服务的不同方面,包括使用 API 网关.进程间通讯.服务发现.事件驱动的数据管理,以及部署微服务.本篇将讨论从单体应用迁移到微服务的策略. 作者介绍:Chris Richardson,是世界著名的软件大师,经典技术著作<POJOS IN ACTION>一书的作者,也是 cloudfoundry.com 最初的创始人

从单体服务向微服务

单体式应用的问题1 一个简单的应用会随着时间推移逐渐变大.变成一个又大又复杂的怪物,开发团队肯定很痛苦.敏捷开发和部署举步维艰,因为这个应用太复杂,以至于任何单个开发者都不可能搞懂它.2 单体式应用也会降低开发速度.应用越大,启动时间会越长.3 复杂而巨大的单体式应用也不利于持续性开发.持续部署也会很艰难.4 单体式应用在不同模块发生资源冲突时,扩展将会非常困难.比如,一个模块完成一个CPU敏感逻辑,应该部署在AWS EC2 Compute Optimized instances,而另外一个内存

应用量化时代 | 微服务架构的服务治理之路

技术随业务而生,业务载技术而行. 近些年来,伴随数字经济的发展,在众多企业的数字化转型之路上,云原生.DevOps.微服务.服务治理等成为行业内不断被探讨的新话题.人们在理解和接受这些新型概念的同时,也不断地思考其可能的落地形态.需求是创造发生的原动力,于是一批代表性的开源技术或者框架涌现而出:Kubernetes,Spring Cloud,Service Mesh,Serverless-- 它们炙手可热,大放异彩.然而在具体落地过程中却步履维艰,磕磕绊绊. 本文试图结合企业业务的核心诉求,以应

微服务SpringCloud之服务注册与发现

在找.net core 微服务框架时发现了Steeltoe开源项目,它可以基于Spring Cloud实现.net core和.net  Framework的微服务.正好之前也有学习过SpringBoot,而Spring Cloud是基于SpringBoot的,有了SpringBoot基础上手入门SpringCloud应该也不难,正好我的第一本书<<Spring快速入门>>即将上架,感兴趣的朋友可以多多支持.本篇主要学习服务注册与发现组件Eureka. 在学习之前首先聊一聊为什么会

微服务:实现服务发现与服务注册

一.服务发现的方式: 1.客户端发现:Eureka.ZooKeeper(存在缺陷)原因:http://blog.csdn.net/whereismatrix/article/details/53305045 2.服务端发现:consul+nginx 描述:Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的.SpringCloud将它集成在其子项目spring-cloud-netflix中

【微服务架构】SpringCloud之Eureka(服务注册和服务发现基础篇)(二)

上篇文章讲解了SpringCloud组件和概念介绍,接下来讲解一下SpringCloud组件相关组件使用.原理和每个组件的作用的,它主要提供的模块包括:服务发现(Eureka),断路器(Hystrix),智能路有(Zuul),客户端负载均衡(Ribbon),Archaius,Turbine等  今天学习的是Eureka即注册中心 一:Eureka简介 Eureka是Spring Cloud Netflix的一个子模块,也是核心模块之一.用于云端服务发现,一个基于REST的服务,用于定位服务,以实

微服务架构与服务治理

Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理.服务发现.断路器.智能路由.微代理.控制总线.全局锁.决策竞选.分布式会话和集群状态管理等操作提供了一种简单的开发方式. Spring Cloud包含了多个子项目(针对分布式系统中涉及的多个不同开源产品),比如:Spring Cloud Config.Spring Cloud Netflix.Spring Cloud0 CloudFoundry.Spring Cloud AW

Spring Cloud构建微服务架构-Hystrix服务降级

在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元应用间通过服务注册与订阅的方式互相依赖.由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问题出现调用故障或延迟,而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不断增加,最后就会出现因等待出现故障的依赖方响应而形成任务积压,线程资源无法释放,最终导致自身服务的瘫痪,进一步甚至出现故障的蔓延最终导致整个系统的瘫痪.如果这样的架构存在如此严重的隐患,那么相较传统架构就更加

springcloud微服务系列之服务注册与发现组件Eureka

一.Eurake的简介二.使用Eureka进行服务的注册消费1.创建一个服务注册中心2.创建服务的提供者3.创建服务的消费者总结 一.Eurake的简介 今天我们来介绍下springcloud的核心组件Eureka,Eurake是负责微服务架构中服务治理的功能,负责各个服务实例的注册与发现. Eureka包含了服务器端和客户端组件.服务器端,也被称作是服务注册中心,用于提供服务的注册与发现. 客户端组件包含服务消费者与服务生产者.在应用程序运行时,服务生产者向注册中心注册自己的服务实例,当消费者