Cadmean Blog

超越预期才是优秀

Springboot插件化开发

开发模式探索

思考 在网上看了几篇插件化开发的文章,都比较繁琐,不直接。我理解最关键的部分是如何在springboot启动后,加载外部的依赖jar包,还有从如何从配置中得到实现类名并加载。 通过这样的模式,可以实现主程序中只有一个接口,通过依赖lib+配置的方式在主程序中调起实际的实现方法并执行。 Serviceloader方式 serviceloader是java提供的spi模式的实现。按照接口开发...

运维平台设计

平台设计思路整理

简介 最近在重新思考运维平台的设计思想,前期设计的平台已经呈现出了越来越多的问题,重构已经势在必行,在后续将尽量尝试根据这个思路把平台进行一次重构。 1. Agent 作为一个提供最基本服务能力的组件,Agent将被部署在所有的服务器上,提供对服务器的操作中间能力。上一个版本对Agent的功能梳理出了这几个能力: 文件接收 脚本执行 数据采集 数据发送 总结...

去哪儿网QMQ分析

去哪儿网开源的QMQ架构介绍和简单分析

简介 今天在INFOQ上看到了去哪儿开源的QMQ的介绍去哪儿网消息队列设计与实现 。看了下挺有趣的,所以去Github上看了看他们的架构。其实QMQ在16年还是17年就已经开源了,那时候参加Qcon的时候听去哪儿网的工程师分享过。他们初期使用的是AMQ(ActiveMQ),后来说AMQ好像会出现丢消息等等问题,就自研MQ了。 闲话不多说,还是来看看QMQ的介绍吧。 1. 消费者扩容带来...

为Kafka消息添加MessageID

在不破坏消息体的情况下为每个消息添加消息ID

简介 之前提过我在公司内部做的是一个消息平台,为各个应用提供消息服务。前端时间有个领导给了个需求,能不能自动为所有的消息加上一个消息ID的属性,可以全局唯一定义一个消息。 听到时候的第一个反应是,消息体的序列化反序列化方法都可以自定义了,为什么不在自己的消息体里加MessageID? 领导的说法是因为这样所有客户端在使用的时候还要修改自己的消息体,多不方便啊 emmmmmm…….. ...

ActiveMQ JMX增强

ActiveMQ JMX添加基础方法

前端时间学习了一下JMX的写法,相关的学习资料可以百度一下JMX学习。 日常最常用到JMX的地方是监控采集,往往开源项目也都会内置JMX的接口,供Jconsole连接或外部监控程序连接。 JMX的常用写法其实很简单: //注册server MBeanServer server = ManagementFactory.getPlatformMBeanServer(); //绑定地址 Locat...

架构学习笔记

李运华架构课笔记

订阅了李运华老师的《从0开始学架构》,算是给自己补补基础。在简书里更新一下思维导图的读书笔记吧。 工作以来所零散学到的东西,都在这个专栏中得到了总结整理。 随我学习的进度持续更新,也仅供学习之用,对于每一个点的详细解释参见专栏文章。 开篇 架构设计原则及流程 CAP理论 高性能篇 高可用存储-双机架构 高可用计算架构

Kafka安全机制解析(四)

Acl权限认证方法

分析 在前三篇文章中我们介绍了Kafka的安全机制,并自己重构了一个名为ABC的SASL机制 Kafka安全机制解析及重构(一) Kafka安全机制解析及重构(二) Kafka安全机制解析及重构(二) 我们将用户的权限细分为以下两类: 连接权限:Client可以与Broker之间建立连接 读写权限:Client可以往具体的Topic发送或消费消息 根据上一篇文...

Kafka安全机制解析(三)

构建一个自己的鉴权机制

2018.12.01注:详细代码由于在内网无法直接奉上,所以这篇介绍的只是基本的代码结构,可能还需要再调试一下才能通。调试过程中需要注意的是: server.properties中需要配置上集群内部之间交互走PLAIN模式 sasl.enabled.mechanism=ABC,PLAIN security.inter.broker.protocol=PLAINTEXT s...

Kafka安全机制解析(二)

PLAIN模式源码分析

简介 上一篇Kafka安全机制解析及重构(一)中介绍了Kafka的安全认证的流程。其实Kafka官方也是推荐用户自己写一个安全认证模块的。官方在介绍SASL/PLAIN模式的时候是这样说的 SASL/PLAIN should be used only with SSL as transport layer to ensure that clear passwords are ...

Kafka安全机制解析(一)

基本架构解析

基本架构 最近开始主攻Kafka,在了解Kafka的功能后,要把Kafka构建成一个企业级的消息平台,首先需要完善的就是安全机制。 Kafka官方提供的客户端与服务端的安全机制有两种,官方的文档上写的很清楚: SSL协议,一般来说单向SSL协议就够了,双向需要在新增用户时修改服务端的证书还要重启服务器,比较麻烦。这个和ActiveMQ的证书制作类似,可以参考ActiveMQ使用SSL...

< script src = " / js / bootstrap.min.js " >