
微服务
文章平均质量分 89
这个专栏中,我将深入探讨微服务架构的核心概念、最佳实践和实际应用。将涵盖如何设计、部署和管理微服务,包括服务发现、负载均衡、容错处理以及数据管理等关键技术。此外,还会介绍流行的微服务工具和框架,如 Spring Boot、Docker 和 Kubernetes。利用微服务架构构建高效、可扩展的应用!
逍遥Sean
计算机专业毕业并拥有超过3年工作经验的前后端技术探险家,擅长多个领域包括Web网站开发、游戏程序设计、WPF微软桌面程序、微信小程序等等。
在我的博客中,我致力于分享深入的技术见解和实际经验,帮助程序员解决各种挑战和提升技能。你将在这里找到关于如何构建高效Web服务的实用技巧,游戏开发中的优化策略以及数据结构与算法在应用程序的最佳实践。
我希望通过分享我的知识和经验,为广大程序员社区贡献一些实用的见解,让大家在技术的路上少走弯路,更快地实现自己的开发目标。
无论你对哪个领域感兴趣,我都希望我的博客能成为你解决问题的有力工具。请随时浏览我的最新文章,欢迎留言讨论,共同探索技术的无限可能!
展开
-
分布式 - 主从复制技术详解及时延处理
在现代数据库系统中,主从复制(Master-Slave Replication)是确保数据高可用性和扩展性的关键技术。它不仅有助于负载均衡,还能提供数据冗余,以提高系统的稳定性。然而,主从复制也面临着一些挑战,尤其是在处理数据同步时延方面。本文将深入探讨主从复制的技术细节、工作原理、实现方式、优缺点,并特别关注如何有效地处理复制时延。### 一、主从复制的基本概念主从复制是一种将主数据库(Master)的数据同步到一个或多个从数据库(Slave)的机制。主数据库负责处理所有的数据写入操作,而从数据库原创 2024-08-22 11:52:07 · 1217 阅读 · 0 评论 -
微服务 - 深入解析 Redis 红锁:构建可靠分布式锁的技术细节
在现代分布式系统中,管理并发和确保数据一致性是一项重要挑战。分布式锁作为解决这些问题的关键技术之一,得到了广泛关注。Redis 红锁(Redlock)算法由 Redis 创始人 Antirez 提出,旨在为分布式环境下的锁管理提供一种高可靠性的解决方案。本博文将全面解析红锁的设计原理、实现细节、优势、挑战以及实际应用案例,Redis 红锁是针对分布式锁的高级解决方案,相较于传统的分布式锁机制,红锁提供了更高的容错性和可靠性。红锁的核心思想是通过多个独立的 Redis 实例来获取锁,从而防止单点故障的问题。原创 2024-08-22 11:48:19 · 2490 阅读 · 0 评论 -
消息队列中间件(一)
优:erlang高并发特性,性能好,吞吐万级,跨平台,支持多种语言,社区活跃。优:单机吞吐万级,时效性ms级,可用性高(主从架构),可靠性高(丢失率低)优:高吞吐量(百万级),时效性ms级,可用性高,日志成熟。缺:短轮询,失败不重试,宕机消息乱序,社区更新慢。优:吞吐十万级,可用性高,0丢失,分布式。大数据 - 数据采集,传输,存储。缺:官方维护少,高吞吐场景较少使用。缺:商业版收费,学习成本高。大数据场景的数据收集业务。原创 2023-06-22 16:07:31 · 389 阅读 · 0 评论 -
spring boot 项目中搭建 ElasticSearch 中间件 一 spring data 操作 es
首先要创建一个spring maven工程,一般使用idea直接创建spring boot start 工程。spring data提供了比较简单的操作框架,几乎不再使用java api,本文后续更新详细索引和文档操作。下载后在bin中点击 elasticsearch.bat 启动es。注:@Repository表示该类是一个数据操作类。注:继承的es存储类,会实现es数据操作的默认方法。写一个简单的实体类,用于与es结构对应。不同的jdk版本要使用适配的es版本。以上已经完成了es索引的创建和删除。原创 2023-08-28 22:23:10 · 642 阅读 · 0 评论 -
缓存中间件Redis必知必会
本文是对redis的基本用法操作的整理。原创 2023-08-29 23:12:17 · 460 阅读 · 0 评论 -
微服务 - 分布式锁的实现与处理策略
分布式锁的实现涉及选择合适的技术和策略来解决锁的可靠性、宕机恢复以及锁过期问题。通过了解 Redis、Zookeeper 和 Etcd 等分布式锁实现的优缺点,结合具体业务场景,可以设计出高效、可靠的分布式锁机制。在实践中,合理配置锁的过期时间、实施心跳机制、设计重试逻辑和监控告警,将有效地应对分布式锁带来的挑战。原创 2024-08-21 19:16:24 · 1528 阅读 · 4 评论 -
消息队列中间件 - Kafka:高效数据流处理的引擎
Apache Kafka 是一个开源的分布式流处理平台,最初由 LinkedIn 开发,并于2011年开源。它设计用于处理大规模的实时数据流,具有高吞吐量、低延迟和可扩展性的特点。Kafka 不仅仅是一个消息队列系统,更是一个分布式的持久性日志系统,适合用于数据采集、流处理、事件驱动架构等应用场景。Apache Kafka 作为一个高性能、可伸缩和可靠的分布式消息系统,不仅仅是一个消息队列,更是大数据处理和实时数据流处理的理想选择。原创 2024-08-01 11:28:01 · 527 阅读 · 0 评论 -
消息队列中间件(二)- RabbitMQ(一)
接收,存储,转发消息。原创 2023-06-22 23:19:19 · 337 阅读 · 0 评论 -
消息队列中间件 - ActiveMQ关键特性与工作原理
Apache ActiveMQ 是一个完全支持 JMS(Java Message Service)规范的消息代理软件。它采用了基于消息队列的异步通信模型,能够在分布式系统中可靠地传递消息。ActiveMQ 提供了多种通信协议,包括 OpenWire、STOMP、AMQP 和 MQTT,使得它可以与不同类型的客户端和应用程序集成。广泛的协议支持:ActiveMQ 支持多种通信协议,包括 OpenWire、STOMP、AMQP 和 MQTT,使得它可以与不同类型的客户端和应用程序集成。高可靠性。原创 2024-08-01 11:25:20 · 835 阅读 · 0 评论 -
Linux环境下下载安装缓存中间件Redis
### redis简介Redis是一个开源的、基于内存的、高性能的键值对存储数据库。Redis支持多种数据结构,包括字符串、列表、哈希、集合、有序集合等。它还提供了丰富的功能,如事务、持久化、发布订阅、Lua脚本、流水线等。Redis的内存存储特性使其非常适合缓存、计数器、消息队列、排行榜、实时系统等场景。Redis的性能非常高,它使用了类似于操作系统中页面置换算法的LRU淘汰策略,保证了内存使用效率。同时,Redis还支持分布式部署,可以通过主从复制和集群方式实现高可用、负载均衡等功能。### 文原创 2023-08-29 20:50:10 · 1185 阅读 · 0 评论 -
Dubbo常考知识点
Dubbo中的架构设计是⾮常优秀的,分为了很多层次,并且每层都是可以扩展的,⽐如:1. Proxy服务代理层,⽀持JDK动态代理、javassist等代理机制2. Registry注册中⼼层,⽀持Zookeeper、Redis等作为注册中⼼3. Protocol远程调⽤层,⽀持Dubbo、Http等调⽤协议4. Transport⽹络传输层,⽀持netty、mina等⽹络传输框架5. Serialize数据序列化层,⽀持JSON、Hessian等序列化机制原创 2023-09-21 15:23:26 · 106 阅读 · 0 评论 -
缓存中间件Redis常考知识点
在指定的时间间隔内将内存中的数据集快照写⼊磁盘,实际操作过程是fork⼀个⼦进程,先将数据集写⼊临时⽂件,写⼊成功后,再替换之前的⽂件,⽤⼆进制压缩存储。整个Redis数据库将只包含⼀个⽂件dump.rdb,⽅便持久化。容灾性好,⽅便备份。性能最⼤化,fork ⼦进程来完成写操作,让主进程继续处理命令,所以是 IO 最⼤化。使⽤单独⼦ 进程来进⾏持久化,主进程不会进⾏任何 IO 操作,保证了 redis 的⾼性能相对于数据集⼤时,⽐ AOF 的启动效率更⾼。数据安全性低。原创 2023-08-30 12:32:47 · 2010 阅读 · 0 评论 -
spring boot 项目中搭建 ElasticSearch 中间件 二 Java api 操作 es
下载后在bin中点击 elasticsearch.bat 启动es。创建一个es client 后面的操作都是使用这个。本文使用 elasticsearch-7.10.0。首先要创建一个Java maven工程。写一个简单的实体类,用于与es结构对应。是我自己的log插件,可以替换使用普通。不同的jdk版本要使用适配的es版本。注:以下操作 以索引名为。注:以下操作 以索引名为。原创 2023-08-28 21:59:29 · 574 阅读 · 0 评论 -
spring boot 项目中搭建 ElasticSearch 中间件 一 postman 操作 es
存储,检索数据集群扩展PB级处理数据全文检索,分析日志管理。原创 2023-08-28 21:33:15 · 570 阅读 · 0 评论 -
消息队列中间件 - 深入理解 RabbitMQ:优势、挑战与应用场景探析
RabbitMQ 是一个基于 AMQP(高级消息队列协议)实现的消息代理软件,最初由 LShift 提供,并逐渐成为企业级应用中广泛使用的消息队列系统。其设计目标是提供可靠、可扩展和高度可用的消息传输机制,支持多种消息模型和应用场景。原创 2024-08-01 11:32:43 · 496 阅读 · 0 评论 -
中间件 - 使用Eureka进行微服务注册与发现
Eureka是Netflix开发的一个REST服务,用于服务的注册与发现。它提供了简单易用的API,允许微服务在运行时注册自己,并且能够发现其他服务的位置和状态。Eureka基于客户端-服务端架构,服务注册是通过Eureka客户端完成的,服务发现则是通过Eureka服务端完成的。本文介绍了如何使用Netflix的Eureka实现微服务的注册与发现。通过Eureka,你可以构建出高可用性、弹性的微服务架构,轻松管理多个微服务之间的依赖关系。希望本文能够帮助你快速入门并掌握Eureka的基本用法。原创 2024-07-30 10:26:05 · 1052 阅读 · 0 评论 -
消息队列中间件 - 深入理解 Apache RocketMQ:大规模消息队列中间件的优势与挑战
Apache RocketMQ 是一个企业级的分布式消息中间件,支持发布/订阅和队列模型。它在阿里巴巴内部经过多年的大规模应用验证,以其稳定性和高性能著称。RocketMQ 提供了丰富的特性和可扩展的架构,适用于多种场景,如电商交易、实时数据处理和日志收集等。Apache RocketMQ 作为一个成熟稳定的开源消息队列中间件,具备高可靠性、高性能和丰富的功能特性,适合用于大规模消息通信和实时数据处理场景。原创 2024-08-01 11:30:34 · 361 阅读 · 0 评论 -
远程方法调用中间件Dubbo安装并在spring项目中使用
## 下载安装dubboDubbo是一个高性能分布式服务的Java RPC框架,它可以可以帮助实现不同应用之间的远程调用,帮助我们快速开发和提供高性能、高可靠性的分布式服务,同时提供服务治理、容错、负载均衡等功能。1. **下载Dubbo**:前往Dubbo的官方网站(`https://dubbo.apache.org/zh-cn/`)下载最新版本的Dubbo。2. **安装Zookeeper**:Dubbo依赖于Zookeeper,需要先安装Zookeeper。在Zookeeper的官网(`ht原创 2023-08-31 16:34:56 · 961 阅读 · 0 评论