单体架构 微服务架构 分布式 微服务通信方式 网关与nginx

这篇具有很好参考价值的文章主要介绍了单体架构 微服务架构 分布式 微服务通信方式 网关与nginx。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

单体架构的优点和缺点,微服务架构的优点和缺点

单体架构
  • 优点:架构简单,维护成本低
  • 缺点:各个模块耦合度太高,当对一个模块进行更新修改时,会影响到其他模块,要一起进行修改。当存在性能瓶颈的时候,需要对整个服务进行扩容,不能有针对性的扩容,如一个程序的主要功能时其中某个服务,要对其增加机器,但因为是单体架构只有一个jar包,所以只能所有功能一起升级,哪怕某些服务所需的性能很低。
微服务架构
  • 缺点:架构复杂,维护成本高,会带来很多微服务架构的问题,比如说事务问题、网络问题
  • 优点:性能高、服务之间耦合度低,服务可以并行开发,开发周期短

分布式和微服务的区别 

分布式:分散部署
  • 分布式服务顾名思义服务是分散部署在不同的机器上的,一个服务可能负责几个功能,是一种面向SOA架构的,服务之间也是通过来交RPC互或。逻辑架构设计完后就该做物理架构设计,系统应用部署在超过一台服务器或虚拟机上,且各分开部署的部分彼此通过各种通讯协议交互信息,就可算作分布式部署,生产环境下的微服务肯定是分布式部署的,分布式部署的应用不一定是微服务架构的,比如集群部署,它是把相同应用复制到不同服务器上,但是逻辑功能上还是单体应用。
微服务:分散能力
  • 在做架构设计的时候,先做逻辑架构,再做物理架构,当你拿到需求后,估算过最大用户量和并发量后,计算单个应用服务器能否满足需求,如果用户量只有几百人的小应用,单体应用就能搞定,即所有应用部署在一个应用服务器里,如果是很大用户量,且某些功能会被频繁访问,或者某些功能计算量很大,建议将应用拆解为多个子系统,各自负责各自功能,这就是微服务架构。

微服务相比分布式服务来说,它的粒度更小,服务之间耦合度更低,由于每个微服务都由独立的小团队负责,因此它敏捷性更高,分布式服务最后都会向微服务架构演化,这是一种趋势, 不过服务微服务化后带来的挑战也是显而易见的,例如服务粒度小,数量大,后期运维将会很难

微服务之间通讯的几种方式?有哪些优缺点?  

RPC:远程调用(doubbo协议)
  • 优点:相较于http调用,性能更高,RPC基于thrift实现高效的二进制传输,Http大部分通过json实现,字节大小和序列化耗时都比thrift更消耗性能。还有http协议太重了,它有请求头、请求体...
  • 缺点:架构复杂,需要引入注册中心。每个服务启动的时候都要将自己暴露的远程调用接口告诉注册中心。
MQ消息队列
  • 优点:解耦、异步、削峰
  • 缺点:分布式问题显得尤为突出。因为相比于同步调用方式,如果被调用服务报错了,调用方感知不到

微服务网关的几个重要的作用,网关和nginx的区别?

  • 统一鉴权,熔点限流,整个微服务后端所有的流量入口
  • nginx支持的并发量比网关要多很多。nginx能够保证到达网关的流量都是有用的流量

网关和zookeeper区别?

网关主要是负责微服务http接口的负载均衡(更侧重于客户端和后端之间的通信),而zookeeper主要负责远程调用的负载均衡(后端微服务之间的通信文章来源地址https://www.toymoban.com/news/detail-499205.html

nginx几种常见的负载均衡策略。

  • 根据权重负载均衡:在轮询策略的基础上指定轮询的几率
  • 根据ip负载均衡:指定负载均衡器按照基于客户端IP的分配方式,这个方法确保了相同的客户端的请求一直发送到相同的服务器,以保证session会话。这样每个访客都固定访问一个后端服务器,可以解决session不能跨服务器的问题。
  • 轮询:每个请求会按时间顺序逐一分配到不同的后端服务器。
  • 随机:就是随机分配

到了这里,关于单体架构 微服务架构 分布式 微服务通信方式 网关与nginx的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微服务架构-服务网关(Gateway)-权限认证(分布式session替代方案)

    前面我们了解了Gateway组件的过滤器,这一节我们就探讨一下Gateway在分布式环境中的一个具体用例-用户鉴权。 从我们开始学JavaEE的时候,就被洗脑式灌输了一种权限验证的标准做法,那就是将用户的登录状态保存到HttpSession中,比如在登录成功后保存一对key-value值到session,

    2024年02月16日
    浏览(32)
  • 【架构设计】单体软件分布式化思考

    单体软件是历史悠久的软件架构形态,以下是一个简单的前后端分离的单体架构的 web 软件。 单体软件采用分布式方案部署,是根据需求而定的。 为了满足不同场景下的需求,单体软件中的客户端、代理层、服务、数据库,都可以以多个副本联合起来,提供服务的方式部署,

    2024年01月18日
    浏览(41)
  • Java单体到分布式进阶,分布式到高可用进阶,单体到微服务进

    鹅厂实习第十周 研二下了论文没有实习没有怎么办 数据分析求职Happy Ending 献上我的面经和回答思路 求求大家投下我们鹅厂吧 五年职场人,今做面试官,我来揭秘大学生校招内幕! 五年职场人,今做面试官,我来揭秘大学生校招内幕! 京东Java实习一面 机械转码前端上岸,

    2024年03月08日
    浏览(36)
  • Gin框架: Cookie和Session在单体架构和分布式架构下的应用

    Gin 中单一Cookie的应用 1 )路由处理 2 ) 控制器处理 设置cookie时,设置了两个不同过期时间的cookie 5s 后第一个cookie 自动丢失 访问 /delcookie 路由,第二个路由被主动删除 HTTP 是无状态协议,当你浏览了一个页面 然后转到同一个网站的另一个页面,服务器无法认识到这是同一个

    2024年02月22日
    浏览(34)
  • 单体到分布式到微服务

    业务驱动着技术发展是亘古不变的道理。最开始的时候,业务量少、复杂度低,采取的技术也相对简单,能够基本满足用户对功能的需求。随着 IT 信息化的普及,更多交易被放到了网络上,增加的信息量和频繁的业务访问就变成了需要解决的问题。因此,逐渐产生了缓存、集

    2024年04月12日
    浏览(25)
  • 【数据网格架构】分布式数据网格作为集中式数据单体的解决方案

    企业数据架构师不应构建大型集中式数据平台,而应创建分布式数据网格。 ThoughtWorks 的首席技术顾问 Zhamak Dehghani 在旧金山 QCon 的演讲和相关文章中表示,这种方法的改变需要范式转变。随着数据变得越来越普遍,传统的数据仓库和数据湖架构变得不堪重负,无法有效扩展

    2024年02月11日
    浏览(32)
  • Dubbo——微服务框架(单体式->分布式->微服务)

    Dubbo是阿里巴巴开源的基于Java的高性能RPC(一种远程调用)分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。; 每天为2千多个服

    2024年02月05日
    浏览(25)
  • 【分布式微服务专题】从单体到分布式(四、SpringCloud整合Sentinel)

    相对来说,Sentinel的学习难度比之之前的Dubbo要低了不少。不过在学习过程中也遇到了一些认知局限带来的困难。比如,虽然还是学习了Sentinel,但是不知道生产环境该如何配置才是最佳的状态。 说到底,Sentinel还是没有提供很好的文档支持。比如:生产最佳实践方案。 官方也

    2024年01月23日
    浏览(35)
  • [架构之路-221]:鸿蒙系统和安卓系统的比较:微内核VS宏内核, 分布式VS单体式

    目录 一、鸿蒙系统和安卓系统的系统架构 1.1 鸿蒙系统的分层架构 1.2 安卓系统的分层架构 1.3 鸿蒙系统和安卓系统是操作系统吗? 二、鸿蒙系统和安卓系统的系统架构比较 2.1 它们与Linux操作系统的关系 2.2 架构比较 三、操作系统基础 3.1 微内核架构 3.2 宏内核架构 3.3 传统

    2024年02月07日
    浏览(29)
  • .NET CORE开源 DDD微服务 支持 多租户 单点登录 多级缓存、自动任务、分布式、日志、授权和鉴权 、网关 、注册与发现 系统架构 docker部署

    源代码地址https://github.com/junkai-li/NetCoreKevin 基于NET6搭建跨平台DDD思想WebApi架构、IDS4单点登录、多缓存、自动任务、分布式、多租户、日志、授权和鉴权、CAP、SignalR、 docker部署  如需简约项目可直接去除项目引用 解耦设计都可以单独引用 架构默认全部引用并启动 项目启动时

    2023年04月24日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包