微服务分布式系统架构之zookeeper与dubbor-1

简介: 微服务分布式系统架构之zookeeper与dubbor-1

一、需要的环境如下:

IDEA,JDK8,Maven,SpringBoot基础,linux(centos7),dubbo(2.7.0)

virtualbox(用来装虚拟机,和模拟分布式的环境)。

二、传统互联网架构到微服务分布式架构的演变的过程:

简介:单机应用和分布式应用架构演进基础知识

    互联网时代演变过程

          pc时代-->移动互联网时代-->物联网时代

①、传统单体架构

如果程序扛不住了,可以这时加一个缓存,就可以很好的解决相应的问题。

而且这个应用程序是部署到单台的机器上去的。随着用户量的增长。就会

变成下面的图

缺点:系统耦合度高,开发效率随着时间的增长而减低,启动应用的时间长。

依赖庞大等等。

适用场景:初创公司,业务场景简单,功能单一,研发人员较少。

②、传统单体架构的扩展


保证应用程序部署在多台的服务器上面,通过相应的负载均衡的工具来把用户的请求去负载均衡( 比如nginx)到不同到不同的应用程序上面去,然后再对相应的数据进行一个保存。这时就会能够承受更高的并发。

但是随着业务的增长,整个程序的开发变的比较麻烦。这时就有了下面的图:

③、单体架构解耦

在水平上进行一个拆分,最主要的是把原先的一个单体的应用分成了网关层(用于用户的鉴权),业务逻辑层(处理业务),数据访问层(访问数据/对数据进行持久化)。

为了提高更高的并发量,就引入了下面的图:

④、异步架构

用户的请求来到nginx,然后去到相应的网关层,然后通过MQ进行异步的解耦,然后到业务逻辑层,然后到数据访问层,最终到数据库。这就是简单的异步架构。

随着用户的急剧的增长,这时就到了soa的架构

⑤、soa架构

soa架构就是对服务进行了拆分,而且引入了服务配置和服务治理。soa是比较依赖企业服务总线的。

⑥、微服务架构

微服务和soa架构是非常相似的,很多思想是从soa架构借鉴过来的。但是在微服务架构中去掉了ESB。这就是两者的最大的区别。

优点:易开发, 理解,维护

         独立部署和启动

缺点:需要管理多个服务,在架构的层面变的复杂。

         服务切分之后,服务之间的调用可能需要去解决分布式事务的问题

相关文章
|
6月前
|
存储 安全 Java
管理 Spring 微服务中的分布式会话
在微服务架构中,管理分布式会话是确保用户体验一致性和系统可扩展性的关键挑战。本文探讨了在 Spring 框架下实现分布式会话管理的多种方法,包括集中式会话存储和客户端会话存储(如 Cookie),并分析了它们的优缺点。同时,文章还涵盖了与分布式会话相关的安全考虑,如数据加密、令牌验证、安全 Cookie 政策以及服务间身份验证。此外,文中强调了分布式会话在提升系统可扩展性、增强可用性、实现数据一致性及优化资源利用方面的显著优势。通过合理选择会话管理策略,结合 Spring 提供的强大工具,开发人员可以在保证系统鲁棒性的同时,提供无缝的用户体验。
126 0
|
7月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
1097 3
|
5月前
|
消息中间件 分布式计算 资源调度
《聊聊分布式》ZooKeeper与ZAB协议:分布式协调的核心引擎
ZooKeeper是一个开源的分布式协调服务,基于ZAB协议实现数据一致性,提供分布式锁、配置管理、领导者选举等核心功能,具有高可用、强一致和简单易用的特点,广泛应用于Kafka、Hadoop等大型分布式系统中。
|
5月前
|
负载均衡 Java API
《深入理解Spring》Spring Cloud 构建分布式系统的微服务全家桶
Spring Cloud为微服务架构提供一站式解决方案,涵盖服务注册、配置管理、负载均衡、熔断限流等核心功能,助力开发者构建高可用、易扩展的分布式系统,并持续向云原生演进。
|
11月前
|
人工智能 安全 Java
智慧工地源码,Java语言开发,微服务架构,支持分布式和集群部署,多端覆盖
智慧工地是“互联网+建筑工地”的创新模式,基于物联网、移动互联网、BIM、大数据、人工智能等技术,实现对施工现场人员、设备、材料、安全等环节的智能化管理。其解决方案涵盖数据大屏、移动APP和PC管理端,采用高性能Java微服务架构,支持分布式与集群部署,结合Redis、消息队列等技术确保系统稳定高效。通过大数据驱动决策、物联网实时监测预警及AI智能视频监控,消除数据孤岛,提升项目可控性与安全性。智慧工地提供专家级远程管理服务,助力施工质量和安全管理升级,同时依托可扩展平台、多端应用和丰富设备接口,满足多样化需求,推动建筑行业数字化转型。
374 5
|
6月前
|
消息中间件 缓存 监控
中间件架构设计与实践:构建高性能分布式系统的核心基石
摘要 本文系统探讨了中间件技术及其在分布式系统中的核心价值。作者首先定义了中间件作为连接系统组件的"神经网络",强调其在数据传输、系统稳定性和扩展性中的关键作用。随后详细分类了中间件体系,包括通信中间件(如RabbitMQ/Kafka)、数据中间件(如Redis/MyCAT)等类型。文章重点剖析了消息中间件的实现机制,通过Spring Boot代码示例展示了消息生产者的完整实现,涵盖消息ID生成、持久化、批量发送及重试机制等关键技术点。最后,作者指出中间件架构设计对系统性能的决定性影响,
|
存储 缓存 NoSQL
分布式系统架构8:分布式缓存
本文介绍了分布式缓存的理论知识及Redis集群的应用,探讨了AP与CP的区别,Redis作为AP系统具备高性能和高可用性但不保证强一致性。文章还讲解了透明多级缓存(TMC)的概念及其优缺点,并详细分析了memcached和Redis的分布式实现方案。此外,针对缓存穿透、击穿、雪崩和污染等常见问题提供了应对策略,强调了Cache Aside模式在解决数据一致性方面的作用。最后指出,面试中关于缓存的问题多围绕Redis展开,建议深入学习相关知识点。
827 8
|
10月前
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
3231 57
|
12月前
|
消息中间件 人工智能 监控
文生图架构设计原来如此简单之分布式服务
想象一下,当成千上万的用户同时要求AI画图,如何公平高效地处理这些请求?文生图/图生图大模型的架构设计看似复杂,实则遵循简单而有效的原则:合理排队、分工明确、防患未然。
445 14
文生图架构设计原来如此简单之分布式服务
|
10月前
|
消息中间件 缓存 算法
分布式开发:数字时代的高性能架构革命-为什么要用分布式?优雅草卓伊凡
分布式开发:数字时代的高性能架构革命-为什么要用分布式?优雅草卓伊凡
739 0
分布式开发:数字时代的高性能架构革命-为什么要用分布式?优雅草卓伊凡