分布式实战
文章平均质量分 95
分布式实战
QQ_AHAO
个人空间 http://ahao.site,http://ahaoweb.cn
展开
-
ZooKeeper 实战(六) - 分布式ID实现方案
比如本次生成的临时顺序节点的序号为0000000001,也就是1,但是在应用中,不认为这就是单纯的数字1,而是表示1份ID,这一份有100个ID,也可就是从100-199,即序号000000000100-000000000199。在100次ID的生成中,只有一次远程调用,大大提高了系统的并发性能,同时也解决了容量问题,原本只能生成100亿个ID,经过单位转换(ZK中的序号1代表应用中的100),容量提高了100倍。在ZK生成的临时顺序节点ID的前附加时日期时间,以便直观显示此ID的生成日期。原创 2024-08-26 08:45:00 · 1279 阅读 · 0 评论 -
ELK 日志监控平台(二)- 优化日志格式
其实细心一点就会发现一个问题,输出到 ES 的日志格式一点也不友好,实际的应用日志信息都集中在message索引字段中,而且日志的实际输出时间也不是应用中打印日志的时间,而是输出到 ES 的时间。插件可以用来转换你的日志记录中的时间字符串,变成 LogStash::Timestamp 对象,然后转存到 @timestamp 字段里。一个良好的日志格式可以确保日志信息易于阅读、解析和分析,便于在日志分析和故障排查中发挥作用。仔细查看可知,输出的日志信息与预期一致,并且我们日志打印时间也和实际的时间一致。原创 2024-05-18 19:04:45 · 1353 阅读 · 3 评论 -
ELK 日志监控平台(一)- 快速搭建
ELK(Elasticsearch, Logstash, Kibana)是一个目前主流的开源日志监控平台。Elasticsearch:是一个开源的分布式搜索和分析引擎,可以用于全文检索、结构化检索和分析,它构建在Lucene搜索引擎库之上,是当前使用较为广泛的开源搜索引擎之一。Logstash:一个用于收集、处理和转发日志数据的数据处理管道。原创 2024-05-18 19:03:28 · 5657 阅读 · 0 评论 -
RocketMQ安装部署+简单实战开发
此部分不做赘述,可从官网查阅说明文档下载地址(建议下载二进制包)安装和启动教程其实官网讲解已经很详细了,所以这里只是详细描述一下启动和停止命令### 启动namesrv, 表示安装好的二进制包中bin目录下的 mqnamesrv 文件地址,使用命令时替换为实际地址即可### 先启动broker 表示安装好的二进制包中bin目录下的 mqbroker 文件地址### -n NameServer地址。原创 2024-04-13 10:00:00 · 1728 阅读 · 0 评论 -
ZooKeeper 实战(五) Curator实现分布式锁
分布式锁是一种用于实现分布式系统中的同步机制的技术。它允许在多个进程或线程之间实现互斥访问共享资源,以避免并发访问时的数据不一致问题。分布式锁的主要目的是在分布式系统中提供类似于全局锁的效果,以确保在任何时刻只有一个进程或线程可以访问特定的资源。zookeeper基于临时有序节点实现分布式锁。每个客户端对某个临界资源加锁时,在zookeeper上的与该临界资源对应的指定节点的目录下,生成一个唯一的临时有序节点。判断是否获取锁的方式很简单,只需要判断临时有序节点中序号最小的那个是否由自身创建。原创 2024-01-16 16:29:21 · 891 阅读 · 1 评论 -
ZooKeeper 实战(四) Curator Watch事件监听
Curator 中提供了三种 Cache(Watcher)来监听不同节点变化类型:+ NodeCache:监听指定的节点。+ PathChildrenCache:监听指定节点的子节点。+ TreeCache:监听指定节点及其子孙节点。原创 2024-01-12 15:46:31 · 1461 阅读 · 1 评论 -
ZooKeeper 实战(三) SpringBoot整合Curator-开发使用篇
Curator是Apache软件基金会下的一个开源框架,目前是Apache下的顶级项目。Curator起初是 Netflix公司开源的一套ZooKeeper客户端框架,后捐献给Apache。和 ZkClient一样,它解决了非常底层的细节开发工作,包括连接、重连、反复注册Watcher的问题以及 NodeExistsException异常等。现在客户端已经配置好了,启动CuratorDemoApplication.class,观察一下是否能够正常启动。观察输出日志,显示如下信息表示客户端连接成功。原创 2024-01-11 17:10:45 · 1974 阅读 · 0 评论 -
ZooKeeper 实战(二) 命令行操作篇
ZooKeeper允许用户在指定Znode注册 Watcher(绑定监听事件),当特定事件触发时(节点数据变更、节点删除、子节点状态变更等事件),ZooKeeper服务端会将事件通知到注册过该事件Watcher的客户端,该机制是ZooKeeper实现分布式协调服务的重要特性,通过这个事件机制,可以基于ZooKeeper实现分布式锁、集群管理等功能。id表示 用户名:密码。如下所示,是整个acl表达式的形式,除去验证模式和权限控制剩下的,也就是中间内容表示id。:监听节点数据变化,子节点的数据变化不会触发。原创 2024-01-08 23:25:10 · 1735 阅读 · 2 评论 -
ZooKeeper 实战(一) 超详细的单机与集群部署教程(MacOS)
ZooKeeper是一个提供包括配置维护、域名服务、分布式同步、组服务等功能的集中式服务。主要功能如下:分布式锁:Zookeeper可以帮助开发人员实现分布式锁,用于控制多个节点的并发访问。通过Zookeeper的原子广播和顺序一致性特性,可以实现高效且可靠的分布式锁。配置管理:在分布式系统中,节点的配置信息可能需要动态地更改和共享。Zookeeper提供了一个简单而可靠的方式来实现配置的管理,开发人员可以将配置信息存储在Znode中,当配置发生变化时,Zookeeper会及时通知相关的节点。原创 2024-01-05 16:07:32 · 1588 阅读 · 1 评论 -
分布式定时任务(三) Elastic Job 高级使用篇
由于上一篇有关实践的博客更受读者欢迎,本篇将继续分享更多关于 Elastic Job 的一些相对高级用法,以便读者追求更丰富、强大的使用需求。实现JobShardingStrategy接口并实现sharding方法,接口方法参数为作业服务器IP列表和分片策略选项,分片策略选项包括作业名称,分片总数以及分片序列号和个性化参数对照表,可以根据需求定制化自己的分片策略。原创 2024-01-02 16:36:41 · 905 阅读 · 1 评论 -
分布式定时任务(二) Elastic Job 开发使用篇(结合Spring Boot开发分布式任务调度)
在上一篇中我们已经学会了部署ElasticJob,本文将以上一篇部署的项目为基础,讲解有关定时任务作业开发的代码实战。⚠️ 以下所有案例在测试定时任务之前,请先启动ZK。在进行开发之前,需要读者掌握 Ideal 同一项目启动多个实例的能力。首先点击启动类下拉框,选择 Edit Configurations…选择ElasticJobApplicaiton启动类,点击左上角的复制按钮在新增的启动配置中,添加启动参数(设置端口号为9932)原创 2023-12-27 12:06:55 · 1128 阅读 · 1 评论 -
分布式定时任务(一) Elastic Job 开发部署实战(结合Spring Boot开发分布式任务调度)
elastic-job是当当网基于Zookepper 、Quartz开源的一个java分布式定时任务,解决了Quartz不支持分布式的弊端.elastic-job由两个相互独立子项目Elastic-Job-Lite 、 Elastic-Job-Cloud组成.Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供最轻量级的分布式任务的协调服务,外部依赖仅Zookeeper原创 2023-12-18 15:08:34 · 1469 阅读 · 2 评论