在 Linux 系统运维过程中经常遇到的中间件服务管理工作记录;包括 Zookeeper 一致性服务、RabbitMQ 和 Kafka 消息队列中间件以及Dubbo 开源分布式服务框架。
一、ZooKeeper 一致性服务
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。
它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
- Zookeeper 服务安装介绍
- 分布式系统的CAP和BASE理论扩展
- Zookeeper 数据节点介绍和命令管理
- Zookeeper 服务工作特性和工作原理
- Zookeeper 服务集群架构原理介绍
- Zookeeper 集群选主和数据同步算法
二、Kafka 消息队列服务介绍
kafka是用于构建实时数据管道和流应用程序。具有横向扩展,容错,wicked fast(变态快)等优点,并已在成千上万家公司运行。
官方文档:http://kafka.apachecn.org/documentation.html
2.1、Kafka 服务的日常运维管理
2.2、Kafka 服务的生产者和消费者
三、Dubbo 开源分布式服务框架
Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架(非实体应用),使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。
Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
- Dubbo RPC分布式服务框架(SOA)介绍
- Dubbo 服务框架总体介绍
- Dubbo 框架使用过程原理介绍
- Dubbo 服务框架调用流程说明
- Dubbo 框架模块说明
- Dubbo-admin 分布式框架管理工具
- Dubbo 运行原理和Java代码示例
四、RabbitMQ 消息队列
RabbitMQ是实现了高级消息队列协议(AMQP–Advanced Message Queuing Protocol)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。
4.1、RabbitMQ 服务介绍和原理介绍
- RabbitMQ 服务介绍
- RabbitMQ 消息队列服务安装说明
- Rabbitmq 消息队列服务端口信息
- RabbitMQ 的消息传递模型
- RabbitMQ 消息队列中交换机Exchange介绍
- RabbitMQ 消息队列官网提供的几种使用场景介绍
- RabbitMQ 使用中的注意事项(轮询调度、消息确认、数据持久化、公平调度)
4.1、RabbitMQ 管理工具介绍
- RabbitMQ 消息队列中 VirtualHost介绍 与权限管理
- rabbitmqctl 工具管理应用和集群及用户管理
- rabbitmqctl 服务状态查询
- rabbitmqctl 工具管理其他设置
五、Maven 项目管理工具软件
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
5.1、Maven 服务名词介绍和Settings 配置介绍
5.2、POM 文件编写介绍
- Maven 工程POM文件编写(工程属性元素)
- Maven 服务POM文件依赖包Dependency和模块 modules元素配置
- Maven 服务POM 文件 Build 元素配置
- Maven 服务结合其他管理系统使用–项目问题管理、持续集成、代码管理、项目部署
- Maven 工程打包成 Docker 镜像
5.3、POM 文件编写介绍
Maven内置了三大特性:属性、Profile和资源过滤来支持构建的灵活性。