微服务分布式系统架构之zookeeper与dubbo-2

本文涉及的产品
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
云原生网关 MSE Higress,422元/月
简介: 微服务分布式系统架构之zookeeper与dubbo-2

一、微服务核心基础知识

简介:网关,服务发现注册,配置中心,链路追踪,负载均衡器,熔断

①、网关:路由转发+过滤器

      /api/v1/product/                 商品服务

      /api/v1/order/                     订单服务

      /api/v1/user/                       用户服务

网关最主要的作用是路由的转发,和充当过滤器的功能。

路由:用户的请求来到网关层的这边,然后由网关层去决定调用哪个服务。

过滤器:比如某个服务是需要登录的,比如用户服务/订单服务,因为它要下订单。

②、服务注册发现:调用和被调用方的信息维护

在上面的图中,比如有四个服务a,b,c,d,由网关路由到a,b,c,但是服务c调用服务d。由网关是很难配置管理这几个服务的,这时就有服务注册发现组件的产生。这时由网关请求服务注册中心。服务在启动的时候就向服务注册中心中去注册,把信息和ip地址等等都注册上去。这时网关就不会自己去实现一些复杂的调用关系。

这时网关从服务注册中心上去拿到服务的一些注册的信息,就可以根据一些信息就找到相对应的服务。这样就方便很多。

如果某一个时刻服务a不可用了,这时服务注册中心就可以告诉网关这个服务a不能用了,就可以告诉网关去找服务a一样的服务了,这样就很方便了。

③、配置中心:主要用于应用里面的一些配置。(application.properties)

      主要功能:管理配置,动态更新

因为服务是比较多的,比如上面的5个服务,或者几十个服务,如果配置一多,如果修改了一个服务的配置,这个配置是这些个服务都用的上的,如果是逐一修改的话不是很现实的,这个时候就引入了配置中心,动态的刷新。

④、链路追踪:分析调用链路耗时

比如:下单->查询商品服务获取商品的价格->查询用户信息->保存数据库

获取整一个链路的耗时。可以分析哪个服务的时间耗时长,然后从而进行优化。

⑤、负载均衡器:分发负载,分发一些请求

比如nginx做负载均衡器,比如瞬间有几百个请求到网关这一边,然后由网关负载到不同的服务,这时就会出现一个服务对应不同的服务实例。以防所有的请求就只到一个服务实例上,从而宕机。

⑥、熔断:保护自己和被调用方

在下面的图中,服务a需要服务b提供的服务,以此类推,服务c需要服务d提供的服务。从而形成一个链路。


如果服务d宕机的话,就会影响服务c,从而会影响服务a,这时就会出现雪崩的效应。


熔断的作用就是在服务d不能够提供服务的时候就给它干掉。让服务c去请求其他的服务。也是保证整个服务的安全。

相关文章
|
2月前
|
存储 安全 Java
管理 Spring 微服务中的分布式会话
在微服务架构中,管理分布式会话是确保用户体验一致性和系统可扩展性的关键挑战。本文探讨了在 Spring 框架下实现分布式会话管理的多种方法,包括集中式会话存储和客户端会话存储(如 Cookie),并分析了它们的优缺点。同时,文章还涵盖了与分布式会话相关的安全考虑,如数据加密、令牌验证、安全 Cookie 政策以及服务间身份验证。此外,文中强调了分布式会话在提升系统可扩展性、增强可用性、实现数据一致性及优化资源利用方面的显著优势。通过合理选择会话管理策略,结合 Spring 提供的强大工具,开发人员可以在保证系统鲁棒性的同时,提供无缝的用户体验。
|
3月前
|
监控 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注册中心服务 构建商品
557 3
|
19天前
|
消息中间件 分布式计算 资源调度
《聊聊分布式》ZooKeeper与ZAB协议:分布式协调的核心引擎
ZooKeeper是一个开源的分布式协调服务,基于ZAB协议实现数据一致性,提供分布式锁、配置管理、领导者选举等核心功能,具有高可用、强一致和简单易用的特点,广泛应用于Kafka、Hadoop等大型分布式系统中。
|
7月前
|
人工智能 安全 Java
智慧工地源码,Java语言开发,微服务架构,支持分布式和集群部署,多端覆盖
智慧工地是“互联网+建筑工地”的创新模式,基于物联网、移动互联网、BIM、大数据、人工智能等技术,实现对施工现场人员、设备、材料、安全等环节的智能化管理。其解决方案涵盖数据大屏、移动APP和PC管理端,采用高性能Java微服务架构,支持分布式与集群部署,结合Redis、消息队列等技术确保系统稳定高效。通过大数据驱动决策、物联网实时监测预警及AI智能视频监控,消除数据孤岛,提升项目可控性与安全性。智慧工地提供专家级远程管理服务,助力施工质量和安全管理升级,同时依托可扩展平台、多端应用和丰富设备接口,满足多样化需求,推动建筑行业数字化转型。
253 5
|
11月前
|
存储 SpringCloudAlibaba Java
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
|
10月前
|
人工智能 安全 Java
微服务引擎 MSE:打造通用的企业级微服务架构
微服务引擎MSE致力于打造通用的企业级微服务架构,涵盖四大核心内容:微服务技术趋势与挑战、MSE应对方案、拥抱开源及最佳实践。MSE通过流量入口、内部流量管理、服务治理等模块,提供高可用、跨语言支持和性能优化。此外,MSE坚持开放,推动云原生与AI融合,助力企业实现无缝迁移和高效运维。
386 1
|
10月前
|
Java 关系型数据库 数据库
微服务SpringCloud分布式事务之Seata
SpringCloud+SpringCloudAlibaba的Seata实现分布式事务,步骤超详细,附带视频教程
702 1
|
12月前
|
存储 运维 NoSQL
分布式读写锁的奥义:上古世代 ZooKeeper 的进击
本文作者将介绍女娲对社区 ZooKeeper 在分布式读写锁实践细节上的思考,希望帮助大家理解分布式读写锁背后的原理。
303 11
|
11月前
|
存储 运维 数据可视化
如何为微服务实现分布式日志记录
如何为微服务实现分布式日志记录
647 1
|
Dubbo 应用服务中间件 Apache
Dubbo 应用切换 ZooKeeper 注册中心实例,流量无损迁移
如果 Dubbo 应用使用 ZooKeeper 作为注册中心,现在需要切换到新的 ZooKeeper 实例,如何做到流量无损?
150 4

热门文章

最新文章