etcd选主实现故障主备秒级切换高可用架构

etcd选主实现故障主备秒级切换高可用架构

什么是Etcd? etcd是一个强大的一致性的分布式键值存储,它提供了一种可靠的方式来存储需要由分布式系统或机器群访问的数据。它优雅地处理网络分区期间的领导者选举,并且可以容忍机器故障,即使在领导者节点中也是如此。从简单的Web应用程序到Kubernetes,任何复杂的应用程序都可以读取数据并将数据写入etcd。这是官方对Etcd的描述,基于这些特性,Etcd常用于分布式配置、分布式...

阅读全文 »

Windows下安装Etcd集群及etcd-viewer

Windows下安装Etcd集群及etcd-viewer

前言 最近在研究etcd,用于解决一个服务的主备切换的问题,工欲善其事必先利其器,先把本地所需的所有环境搭建好。涉及到本地Windows环境的etcd集群的搭建,以及etcd可视化web工具etcd-viewer的搭建。etcd使用go语言开发的,在Windows平台上最终编译成了可执行的exe文件,部署非常容易。 安装etcd集群 下载etcd 下载地址: https://github.com/etcd-io/etcd/releases 选择对应的版本下载即可,Windows版本...

阅读全文 »

Soul Api网关技术选型

前言 最近公司中台api有用到网关的需求,特整理了下网关的基本功能以及Soul网关系统的功能架构设计, 记录于此。 最终选择了Soul网关系统还是因为其架构设计清晰,基于spring boot而且提供了Admin管理后台,而且底层使用spring webflux响应式编程,基于zk的本地缓存设计支持分布式多实例部署,性能问题就不无需多虑了 网关有哪些功能需求? 网关需求 限流 为了保护后端服务的稳定,不...

阅读全文 »

Klcok分布式锁新增锁超时处理策略支持

Klcok分布式锁新增锁超时处理策略支持

klock简介 Klock是博主基于redis开发的分布式锁spring-boot starter组件,使得项目拥有分布式锁能力变得异常简单,支持spring boot,和spirng mvc等spring相关项目。基于注解驱动,支持spring Spel,方便的定义锁的key的粒度。项目已开源,这次主要新增了锁等待超时和锁释放超时的处理策略。 项目地址: https://gitee.com/kekingcn/spring-boot-klock-starter 本次更新内容 本次更新主要新增了【锁等待超时】和【...

阅读全文 »

改造Skywalking支持阿里云等带Http Basic的Elasticsearch服务

改造Skywalking支持阿里云等带Http Basic的Elasticsearch服务

前言 最近公司skywalking服务经常出现大盘空白的情况,经查明,是由于ES的写入瓶颈造成线程阻塞,数据没有落地到ES造成。后综合运维成本等方面考虑,准备使用阿里云提供的Elasticsearch服务,阿里云的ES无论内外网都加上了Http Basic认证,但是skywalking6.x提供的RestHighLevelClient客户端并没有适配带Http Basic基础认证的ES服务,所以需要稍加改动下skywalking源码。 skywalking项目结构 项目从github...

阅读全文 »

kkfileView使用问题年终答疑篇

kkfileView使用问题年终答疑篇

kkfileview...

阅读全文 »

Windows环境下Flink消费Kafka实现热词统计

Windows环境下Flink消费Kafka实现热词统计

前言碎语 昨天博主写了 《windows环境下flink入门demo实例》 实现了官方提供的最简单的单词计数功能,今天升级下,将数据源从socket流换成生产级的消息队列kafka来完成一样的单词计数功能。本文实现的重点主要有两个部分,一是kafka环境的搭建,二是如何使用官方提供的flink-connector-kafka_2.12来消费kafka消息,其他的逻辑部分和上文类似。 进入正题 本篇博文涉及到的软件工具以及下载地...

阅读全文 »