分布式
文章平均质量分 86
洪宏鸿
一个能文能武的全栈开发 :)
展开
-
Feign-Eureka-Ribbon 的协作原理:一个有趣的故事
通过这个有趣的故事,我们了解了 Feign、Eureka 和 Ribbon 的协作原理。Feign 是一个优雅的请求者,它通过注解简化了服务调用;Eureka 是一个智慧的导航家,提供服务注册与发现的功能;Ribbon 是一个敏捷的负载均衡者,能够在多个服务实例间进行请求分发。这三者的协作,使得微服务间的通信更加简单、高效、稳定。在微服务架构的世界里,Feign、Eureka 和 Ribbon 就像是一支默契的团队,共同为我们提供了强大的服务调用能力。原创 2023-04-22 12:05:41 · 146 阅读 · 0 评论 -
Dubbo 与注册中心
在 Dubbo 中,注册中心起到服务注册和发现的作用。服务提供者(被调用端)将其提供的服务注册到注册中心,而服务消费者(调用端)则从注册中心获取服务提供者的信息。总之,注册中心在 Dubbo 中扮演着关键角色,它负责服务注册、发现、负载均衡和故障转移等功能。服务提供者和消费者通过配置与注册中心进行交互,实现服务的自动发现和调用。在 Dubbo 中,服务提供者和服务消费者通过配置来与注册中心进行交互。原创 2023-04-18 16:11:45 · 237 阅读 · 0 评论 -
Dubbo 负载均衡
Spring Cloud Alibaba 的负载均衡组件主要是集成了 Netflix Ribbon 和 Spring Cloud LoadBalancer,它们是基于客户端的负载均衡解决方案,适用于基于 RESTful API 的微服务场景。总之,在 Spring Boot 中,你可以通过配置文件或者注解的方式来设置 Dubbo 的负载均衡策略。在生产环境中,推荐使用 Dubbo 的负载均衡能力,因为它能够根据服务提供者的数量和性能自动分配请求,从而提高整体系统的性能和稳定性。属性来设置负载均衡策略。原创 2023-04-18 16:07:12 · 403 阅读 · 0 评论 -
Dubbo 如何解决粘包拆包问题,以及底层的序列化协议
在 Dubbo 协议中,一条消息由报头和报文两部分组成。报头是固定长度的(16字节),包含了报文的长度、协议版本等信息。报文则是可变长度的,用于存储实际的数据。在发送数据时,Dubbo 会先将报文序列化成字节流,然后计算其长度。接着,Dubbo 会构造一个包含报头和报文的字节流,将报文长度等信息写入报头,最后将整个字节流发送出去。这样,接收端在收到数据后,可以根据报头中的长度信息正确地拆分报文。原创 2023-04-18 16:04:10 · 505 阅读 · 0 评论 -
Dubbo 服务消费者和服务提供者建立通信源码浅析
我们了解了 Dubbo 在服务调用过程中如何处理异常信息,包括服务提供者处理异常、序列化异常信息、消费者反序列化异常信息以及消费者处理异常等。通过以上分析,我们了解了 Dubbo 服务调用过程中的关键组件和流程,包括服务调用信息的反序列化、过滤器处理、Java 反射机制以及结果序列化等。这样,消费者可以像调用本地方法一样调用远程服务,而底层的远程通信和序列化细节都由 Dubbo 框架负责处理。接口的实现类负责实际的远程通信,将封装好的调用信息发送到远程服务提供者。在收到服务提供者的响应后,原创 2023-04-18 15:56:32 · 256 阅读 · 0 评论 -
Dubbo 在服务消费者和服务提供者之间如何建立通信
Dubbo 相较于 Feign 具有更高效的通信协议、序列化方式、传输层框架、连接管理以及负载均衡和容错机制,这些因素都使得 Dubbo 在性能上具有优势。但需要注意的是,这并不意味着 Dubbo 总是比 Feign 更好。实际上,根据不同的应用场景和需求,您可能会选择使用 Feign 或其他 RPC 框架。例如,如果您的应用需要与其他基于 HTTP/REST 的服务进行交互,那么使用 Feign 可能更加适合。原创 2023-04-18 11:10:29 · 882 阅读 · 0 评论 -
使用 Spring Cloud + Spring Cloud Security + OAuth2 实现单点登录
使用 Spring Cloud + Spring Cloud Security + OAuth2 实现单点登录原创 2023-04-12 10:28:23 · 475 阅读 · 0 评论 -
Hello Service Mesh, Hi Istio, 这就是架构的力量吗
Service Mesh 并不是一个框架或一个协议,而是一种用于处理服务到服务通信的基础设施层。它通常作为一个独立的组件,将微服务架构中的服务与其它服务解耦,使得开发者可以专注于编写业务逻辑,而不必担心底层的通信细节。Service Mesh 的核心组件是代理(通常称为 sidecar 代理)和控制平面。原创 2023-04-11 09:46:52 · 87 阅读 · 0 评论 -
Spring Cloud 一些优秀的限流实现
这些限流实现都具有优秀的性能和可靠性,可以满足不同场景下的限流需求。开发人员可以根据实际情况进行选择,并结合自己的业务特点进行二次开发原创 2023-04-11 09:46:48 · 362 阅读 · 0 评论 -
限流算法实战, 什么, 我被限流了, 我这套餐贼贵, 都88元了
限流(Rate Limiting)是一种计算机系统中常见的流量控制技术,用于限制系统或者应用程序中某个时间段内的请求或者事件数量。限流的目的是避免系统因为过多的请求或者事件而过载、崩溃或者出现雪崩效应。固定窗口限流 滑动窗口限流 令牌桶限流 漏桶限流原创 2023-04-11 09:44:03 · 74 阅读 · 0 评论 -
常见分布式锁原理-mysql-redis-zookeeper, 快到碗里来
mysql redis zookeeper这些方法都有各自的优缺点,您可以根据实际需求和系统特点选择合适的分布式锁方案。原创 2023-04-10 00:34:22 · 59 阅读 · 0 评论 -
分布式锁论可靠性, redis 都得服 zookeeper
分布式锁的性能和效率并不是唯一的考虑因素,还需要考虑锁的可靠性、一致性和可扩展性等因素。在实际应用中,需要根据具体场景和需求选择合适的分布式锁方案。如果应用场景对于分布式锁的可靠性和一致性要求较高,那么可以选择使用 ZooKeeper 实现的分布式锁;如果应用场景对于分布式锁的性能和效率要求较高,那么可以选择使用 Redis 实现的分布式锁。原创 2023-04-10 00:36:52 · 191 阅读 · 0 评论 -
如何利用 ShardingSphere 查看mysql分库分表下 SQL物理执行计划, 加上 skywalking 如何?
ShardingSphere 是一个中间件,它可能会对 SQL 执行计划产生一定影响。但是,通过查看每个分片的执行计划,您可以更好地了解查询在分片数据库中的性能表现,并据此对查询进行优化。可以通过集成 SkyWalking 和 ShardingSphere 来实现对分库分表中分片执行情况的链路追踪原创 2023-04-10 00:32:35 · 488 阅读 · 0 评论 -
elastic-job 通过 zookeeper 调度过程,本地调试调度呢?
Zookeeper充当协调者的角色,负责管理作业信息、作业服务器信息和分片分配信息。Elastic-Job则根据这些信息进行任务的调度、执行和监控要在本地调试与任务T1相关的Elastic-Job项目代码,您需要确保本地项目与服务器上的项目能够区分开,并通过调整分片策略来确保任务T1只在本地项目中运行。在完成这些配置后,您可以开始本地调试。如果您觉得有必要,可以暂时关闭服务器上的项目e1,以防止其影响本地调试原创 2023-04-08 21:31:28 · 352 阅读 · 0 评论 -
Elastic-Job 配置 Zookeeper 命名空间作甚
Elastic-Job中配置Zookeeper的命名空间可以更好地组织、隔离和管理作业实例和应用,有助于提高系统的稳定性、可读性和安全性原创 2023-04-08 21:22:56 · 817 阅读 · 0 评论 -
Elastic-Job 与 Zookeeper 关系怎么这么好, 拉着手一起上学堂
Elastic-Job实现了作业的故障恢复。当一个执行器发生故障时,Zookeeper会检测到故障并触发故障恢复机制,将失效执行器的分片重新分配给其他可用的执行器。这样,作业可以在发生故障的情况下仍然继续执行,提高了作业的可靠性和可用性原创 2023-04-08 20:41:28 · 821 阅读 · 0 评论 -
Elastic-Job 作业?任务?分片? do you know?
分片机制是Elastic-Job实现分布式任务调度的关键,它使得Elastic-Job能够在分布式环境中实现作业的并行处理,提高处理速度和可靠性。分片节点和作业执行器节点都是在Zookeeper注册中心中创建的节点,用于存储作业的分片信息和执行器信息。这些节点在Elastic-Job的分布式任务调度过程中起到协调作业执行器之间的协作作用。原创 2023-04-08 18:09:53 · 983 阅读 · 0 评论 -
Elastic-Job 你好呀, 我是阿珍的阿强
Elastic-Job 是一款基于 ZooKeeper 和 Quartz 实现的分布式任务调度框架,它提供了分片处理和分布式任务调度能力。原创 2023-04-08 17:56:38 · 738 阅读 · 0 评论 -
java-分布式的时间调度, 花落知多少
需要根据具体的需求和场景选择合适的框架。xxl-job 和 Elastic-Job 都是相对轻量级的框架,使用起来比较简单,适用于一些简单的分布式任务调度场景。Quartz 是一个功能强大的任务调度框架,适用于各种复杂的任务调度场景;Spring Cloud Task 和 Apache Airflow 则更加注重任务调度的灵活性和可扩展性;Eureka + Quartz 则更加注重分布式任务调度的可靠性和扩展性原创 2023-04-08 15:30:56 · 274 阅读 · 0 评论 -
关于java时间调度, 简单调度,并发调度,分布式调度, 你知几何
需要根据具体的需求和场景选择合适的框架。xxl-job 和 Elastic-Job 都是相对轻量级的框架,使用起来比较简单,适用于一些简单的分布式任务调度场景。Quartz 是一个功能强大的任务调度框架,适用于各种复杂的任务调度场景;Spring Cloud Task 和 Apache Airflow 则更加注重任务调度的灵活性和可扩展性;Eureka + Quartz 则更加注重分布式任务调度的可靠性和扩展性。原创 2023-04-08 11:59:15 · 328 阅读 · 0 评论 -
Redission 中的 RedLock 原理实现, springboot 你造吗?
为什么需要 redis 分布式锁使用 RedLock, 原来的使用 SetNX 实现分布式锁有什么问题Redlock是Redis官方提供的一种分布式锁算法,它基于Paxos算法和Quorum原理,可以在Redis集群环境下保证互斥性和可用性原创 2023-04-07 23:49:29 · 1255 阅读 · 3 评论 -
单点登录的认证过程,我拿到票据了, 可以卖肉了吗?
单点登录的认证过程是如何的, 比方说单点登录服务D, 子系统A和B, A B D和浏览器之间是如何通信的原创 2023-04-06 16:49:11 · 1022 阅读 · 0 评论 -
Serverless 编程咩阿
总的来说,Serverless 编程方式可以让 Java 开发工程师更加专注于业务逻辑和应用程序开发,而不用关心底层服务器的管理和运维,提高了开发效率和应用程序质量。同时,需要注意 Serverless 平台的规范和要求,以便最大限度地利用资源和服务,提高应用程序的性能和可靠性。Serverless 提供了一种简单、快速、高效的云计算服务模式,可以让开发者更专注于业务逻辑的开发,而不需要关心底层服务器和运维问题。Serverless 的编程方式以事件驱动为核心,可以灵活地应对各种场景和需求。原创 2023-04-05 17:16:32 · 1109 阅读 · 0 评论 -
监控三套件EFK + Prometheus + SkyWalking, 经不经典我不管, 我就喜欢这一款
EFK主要用于分布式应用程序的日志管理和分析,Prometheus主要用于采集和存储系统或应用程序的指标数据,SkyWalking主要用于监测和追踪分布式应用程序的请求链路。因此,在实际应用中,可以根据具体的应用场景和需求来选择合适的监测系统或组合使用多种监测系统,以便全面监测和优化系统或应用程序的性能原创 2023-04-05 11:42:04 · 4476 阅读 · 1 评论 -
在分布式系统中,如何在公共目录读取文件到数据库中
当某个节点需要读取该文件时,首先需要申请分布式锁,如果申请成功则可以进行文件读取和处理,处理完成后释放锁,让其他节点能够继续读取该文件。需要注意的是,消息队列的使用要考虑到消息可靠性、消息重复消费等问题,需要结合实际情况选择合适的消息队列库和参数设置。在 Python 中,可以使用第三方的消息队列库,如 RabbitMQ、Kafka、Redis 等,来实现将文件读取请求放入消息队列中。完成消息处理:文件读取和处理完成后,需要向消息队列发送确认消息,告知消息队列该消息已经被成功处理。原创 2023-03-24 17:08:08 · 436 阅读 · 0 评论