后端
手写Dubbo SPI机制和源码解析
版本
2.7.8
SPI机制
官方文档介绍如下
SPI 全称为 Service Provider Interface,是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容易的通过 SPI 机制为我们的程序提供拓展功能。
说白了,SPI是一种第三方框架常用的扩展手段:第三方
945. 使数组唯一的最小增量
题目:
给你一个整数数组 nums 。每次 move 操作将会选择任意一个满足 0 <= i < nums.length 的下标 i,并将 nums[i] 递增 1。
返回使 nums 中的每个值都变成唯一的所需要的最少操作次数。
示例 1:
输入:nums = [1,2,2]
输出:1
解释:经过一次 move 操作,数组将变为 [1, 2, 3]。
示例 2:
输入:nums =
基于Redis实现消息队列
基于Redis实现消息队列
1.业务场景
假设在没有专业消息中间件的情况下,又要通过消息队列去解耦。redis是个更好的选择。
2.实现方式
简要说明实现方式,这里只做个大概的概括
发布与订阅(缺点:典型的一对一,不支持多个消费者公平消费消息,消息无法持久化,如果出现网络断开、Redis 宕机等,消息就会被丢弃等问题)
list队列(缺点:没有很好 ACK 机制,没有 ConsumerGroup
Zookeeper-源码分析-启动+选择群首
1.启动Socket服务绑定2181端口
1.初始化操作 QuorumPeerMain.java 启动main方法
调用initializeAndRun()方法
2.数据加载到内存
针对于集群方面的功能,server开头的配置项进行判断是否属于何角色的对象存入到对应的follower或者obvservers,其他不属于在observers的对象存入到servers列表信息。
Quoruma
Go语言的k8s开发-02-Namespace操作
1. 结构体
1.1 NamespaceList
所在包:"k8s.io/api/core/v1"
type NamespaceList struct {
v1.TypeMeta `json:",inline"`
v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
It