![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
程cccc
这个作者很懒,什么都没留下…
展开
-
Java集合之iterator
public class IteratorTest { public static void main(String[] args) { List list = new ArrayList(); for (int i=0;i list.add(“aaa”+i); } Iterator iterato原创 2018-01-07 21:08:08 · 135 阅读 · 0 评论 -
基于zookeeper的分布式锁
zookeeper 分布式锁 大家都知道单一个单机的环境下出现并发的问题,可以使用jvm自带的并发类,或者使用jvm机制来处理这些并发,但是如果是多台机器的的并发怎么处理呢,这个时候就需要加入分布式锁. 下面是zookeeper 分布式锁的流程图 初始化zkClient private void init() { try {原创 2018-01-26 11:25:41 · 214 阅读 · 0 评论 -
自定义Rpc框架
大家都知道dubbo是一个rpc通信的框架,在学习之前我们自己实现一个轻量的rpc框架,架构图采用dubbo官网提供的 Registry: rpc注册中心 Provider: 远程服务接口 Consumer :接口调用者 总体思路 1:zookeeper 作为自定义的rpc框架的注册中心。 2:Provider 在启动的时候会创建netty服务,同时将自身的ip+port信息写...原创 2018-02-18 22:14:41 · 511 阅读 · 0 评论 -
自定rpc框架Provider
写代码之前我们先定义好工程结构 1 :Rpc-Server 服务发布 框架的RPC 服务器(用于将用户系统的业务类发布为 RPC 服务) * 使用时可由用户依赖Spring容器注入到用户的业务系统中 2:Rpc-Registry 服务注册 Zookeeper 在该架构中扮演了“服务注册表”的角色,用于注册所有服务器的地址与端口,并对客户端提供服务发...原创 2018-02-18 23:12:46 · 267 阅读 · 0 评论 -
Rpc注解用来发布服务
@Target({ ElementType.TYPE }) @Retention(RetentionPolicy.RUNTIME) @Component public @interface RpcService { Class<?> value(); } 该注解用来发布rpc服务的,只需要在类上使用该注解就可以申明一个服务,dubbo后来才支持该功能,最开始是基于xml文件...原创 2018-02-25 16:41:16 · 1430 阅读 · 0 评论 -
RPC 的RpcHandler用来处理业务的具体调用
public class RpcHandler extends SimpleChannelInboundHandler<RpcRequest> { private static final Logger LOGGER = LoggerFactory .getLogger(RpcHandler.class); private final Map...原创 2018-02-25 16:45:23 · 748 阅读 · 0 评论 -
rpc发布服务
在前面的架构图上已经说明,rpc服务是基于spring容器启动的 spring 配置 <context:component-scan base-package="cn.myrpc.sample.server"/> <context:property-placeholder location="classpath:rpc.properties"/> <b...原创 2018-02-25 16:53:59 · 281 阅读 · 0 评论 -
用于发送 RPC 请求的RpcClient
public class RpcClient extends SimpleChannelInboundHandler<RpcResponse> { private static final Logger LOGGER = LoggerFactory .getLogger(RpcClient.class); private String hos...原创 2018-02-25 16:59:44 · 4724 阅读 · 0 评论