MCPcopy Create free account

hub / github.com/Snailclimb/guide-rpc-framework / types & classes

Types & classes95 in github.com/Snailclimb/guide-rpc-framework

ClassAbstractLoadBalance
Abstract class for a load balancing policy @author shuang.kou @createTime 2020年06月21日 07:44:00
rpc-framework-simple/src/main/java/github/javaguide/loadbalance/AbstractLoadBalance.java:14
ClassChannelProvider
store and get Channel object @author shuang.kou @createTime 2020年05月29日 16:36:00
rpc-framework-simple/src/main/java/github/javaguide/remoting/transport/netty/client/ChannelProvider.java:16
ClassCollectionUtil
集合工具类 @author zhanghua @createTime 2022/3/6 12:58 上午
rpc-framework-common/src/main/java/github/javaguide/utils/CollectionUtil.java:11
InterfaceCompress
@author wangtao . @createTime on 2020/10/3
rpc-framework-simple/src/main/java/github/javaguide/compress/Compress.java:10
EnumCompressTypeEnum
@author wangtao . @createTime on 2020/10/2
rpc-framework-common/src/main/java/github/javaguide/enums/CompressTypeEnum.java:10
ClassConsistentHashLoadBalance
refer to dubbo consistent hash load balance: https://github.com/apache/dubbo/blob/2d9583adf26a2d8bd6fb646243a9fe80a77e65d5/dubbo-cluster/src/main/java
rpc-framework-simple/src/main/java/github/javaguide/loadbalance/loadbalancer/ConsistentHashLoadBalance.java:22
ClassConsistentHashLoadBalanceNew
@author: Zekun Fu @date: 2025/5/11 14:32 @Description: 实现能够动态添加和删除结点的一致性hash负载均衡 1. 单例模式创建对象,减少频繁创建对象带来的负载均衡消耗 2. 每次重构服务器列表,采用了无锁(自旋锁) + 双锁检测,减少上下文切换
rpc-framework-simple/src/main/java/github/javaguide/loadbalance/loadbalancer/ConsistentHashLoadBalanceNew.java:23
ClassConsistentHashLoadBalanceTest
估计一下QPS 100个任务,每一个线程访问了2001次的zk + 进行了2000次的负载均衡,服务器的列表的大小为100个 执行时间为10s 100 1000 = 1e5,总时间为10s 也就是说通信上的时间QPS为10000条数据。如果有1000台这样的服务器,就能在1s内完成1e7也就是
rpc-framework-simple/src/test/java/github/javaguide/loadbalance/loadbalancer/ConsistentHashLoadBalanceTest.java:32
ClassConsistentHashSelector
rpc-framework-simple/src/main/java/github/javaguide/loadbalance/loadbalancer/ConsistentHashLoadBalance.java:40
ClassConsistentHashingLoadBalancer
使用方法: 方式1. 直接创建 方式2. 检测变化,重构hash环
rpc-framework-simple/src/main/java/github/javaguide/loadbalance/loadbalancer/ConsistentHashLoadBalanceNew.java:64
ClassCuratorUtils
Curator(zookeeper client) utils @author shuang.kou @createTime 2020年05月31日 11:38:00
rpc-framework-simple/src/main/java/github/javaguide/registry/zk/util/CuratorUtils.java:29
ClassCustomScanner
custom package scanner @author shuang.kou @createTime 2020年08月10日 21:42:00
rpc-framework-simple/src/main/java/github/javaguide/spring/CustomScanner.java:15
ClassCustomScannerRegistrar
scan and filter specified annotations @author shuang.kou @createTime 2020年08月10日 22:12:00
rpc-framework-simple/src/main/java/github/javaguide/spring/CustomScannerRegistrar.java:21
ClassCustomShutdownHook
When the server is closed, do something such as unregister all services @author shuang.kou @createTime 2020年06月04日 13:11:00
rpc-framework-simple/src/main/java/github/javaguide/config/CustomShutdownHook.java:18
ClassCustomThreadPoolConfig
线程池自定义配置类,可自行根据业务场景修改配置参数。 @author shuang.kou @createTime 2020年06月05日 17:03:00
rpc-framework-common/src/main/java/github/javaguide/utils/concurrent/threadpool/CustomThreadPoolConfig.java:16
InterfaceDemoRpcService
rpc-framework-simple/src/test/java/github/javaguide/DemoRpcService.java:3
ClassDemoRpcServiceImpl
@author shuang.kou @createTime 2020年05月10日 07:52:00
rpc-framework-simple/src/test/java/github/javaguide/DemoRpcServiceImpl.java:10
ClassExtensionLoader
refer to dubbo spi: https://dubbo.apache.org/zh-cn/docs/source_code_guide/dubbo-spi.html
rpc-framework-common/src/main/java/github/javaguide/extension/ExtensionLoader.java:21
ClassExtentionTest
@author: Zekun Fu @date: 2025/5/10 22:55 @Description:类加载器测试
rpc-framework-common/src/test/java/github/javaguide/extention/ExtentionTest.java:13
ClassExtentionTest
@author: Zekun Fu @date: 2025/6/8 19:58 @Description:
rpc-framework-simple/src/test/java/github/javaguide/ExtentionTest.java:13
ClassGetServiceTask
rpc-framework-simple/src/test/java/github/javaguide/loadbalance/loadbalancer/ConsistentHashLoadBalanceTest.java:107
ClassGzipCompress
@author wangtao . @createTime on 2020/10/3
rpc-framework-simple/src/main/java/github/javaguide/compress/gzip/GzipCompress.java:16
ClassGzipCompressTest
rpc-framework-simple/src/test/java/github/javaguide/compress/gzip/GzipCompressTest.java:12
InterfaceHashFunction
哈希函数接口
rpc-framework-simple/src/main/java/github/javaguide/loadbalance/loadbalancer/ConsistentHashLoadBalanceNew.java:229
ClassHello
@author shuang.kou @createTime 2020年05月10日 07:04:00
hello-service-api/src/main/java/github/javaguide/Hello.java:11
ClassHelloController
@author smile2coder
example-client/src/main/java/github/javaguide/HelloController.java:9
InterfaceHelloService
@author shuang.kou @createTime 2020年05月10日 07:03:00
hello-service-api/src/main/java/github/javaguide/HelloService.java:8
InterfaceHelloServiceBean
rpc-framework-common/src/test/java/github/javaguide/extention/ExtentionTest.java:32
ClassHelloServiceBeanImp
rpc-framework-common/src/test/java/github/javaguide/extention/ExtentionTest.java:37
ClassHelloServiceBeanImp2
rpc-framework-common/src/test/java/github/javaguide/extention/ExtentionTest.java:45
ClassHelloServiceImpl
@author shuang.kou @createTime 2020年05月10日 07:52:00
example-server/src/main/java/github/javaguide/serviceimpl/HelloServiceImpl.java:12
ClassHelloServiceImpl2
@author shuang.kou @createTime 2020年05月10日 07:52:00
example-server/src/main/java/github/javaguide/serviceimpl/HelloServiceImpl2.java:11
ClassHessianSerializer
Hessian is a dynamically-typed, binary serialization and Web Services protocol designed for object-oriented transmission. @author Vinlee Xiao @create
rpc-framework-simple/src/main/java/github/javaguide/serialize/hessian/HessianSerializer.java:18
ClassHessianSerializerTest
rpc-framework-simple/src/test/java/github/javaguide/serialize/hessian/HessianSerializerTest.java:10
ClassHolder
rpc-framework-common/src/main/java/github/javaguide/extension/Holder.java:3
ClassKryoSerializer
Kryo serialization class, Kryo serialization efficiency is very high, but only compatible with Java language @author shuang.kou @createTime 2020年05月1
rpc-framework-simple/src/main/java/github/javaguide/serialize/kyro/KryoSerializer.java:20
ClassKryoSerializerTest
rpc-framework-simple/src/test/java/github/javaguide/serialize/kyro/KryoSerializerTest.java:10
ClassLRUCache
@author: Zekun Fu @date: 2025/6/1 11:23 @Description:
rpc-framework-simple/src/test/java/github/LRUCache.java:11
ClassListM
rpc-framework-simple/src/test/java/github/LRUCache.java:50
InterfaceLoadBalance
Interface to the load balancing policy @author shuang.kou @createTime 2020年06月21日 07:44:00
rpc-framework-simple/src/main/java/github/javaguide/loadbalance/LoadBalance.java:14
EnumLoadBalanceEnum
@Author xiaobiaoxu @Date 2023年02月24日 15:31
rpc-framework-common/src/main/java/github/javaguide/enums/LoadBalanceEnum.java:10
ClassMD5HashFunction
MD5hash摘要算法
rpc-framework-simple/src/main/java/github/javaguide/loadbalance/loadbalancer/ConsistentHashLoadBalanceNew.java:236
ClassNettyClientMain
@author shuang.kou @createTime 2020年05月10日 07:25:00
example-client/src/main/java/github/javaguide/NettyClientMain.java:10
ClassNettyRpcClient
initialize and close Bootstrap object @author shuang.kou @createTime 2020年05月29日 17:51:00
rpc-framework-simple/src/main/java/github/javaguide/remoting/transport/netty/client/NettyRpcClient.java:39
ClassNettyRpcClientHandler
Customize the client ChannelHandler to process the data sent by the server <p> 如果继承自 SimpleChannelInboundHandler 的话就不要考虑 ByteBuf 的释放 ,{@link SimpleCh
rpc-framework-simple/src/main/java/github/javaguide/remoting/transport/netty/client/NettyRpcClientHandler.java:27
ClassNettyRpcServer
Server. Receive the client message, call the corresponding method according to the client message, and then return the result to the client. @author
rpc-framework-simple/src/main/java/github/javaguide/remoting/transport/netty/server/NettyRpcServer.java:35
ClassNettyRpcServerHandler
Customize the ChannelHandler of the server to process the data sent by the client. <p> 如果继承自 SimpleChannelInboundHandler 的话就不要考虑 ByteBuf 的释放 ,{@link S
rpc-framework-simple/src/main/java/github/javaguide/remoting/transport/netty/server/NettyRpcServerHandler.java:30
ClassNettyServerMain
Server: Automatic registration service via @RpcService annotation @author shuang.kou @createTime 2020年05月10日 07:25:00
example-server/src/main/java/NettyServerMain.java:14
ClassNode
rpc-framework-simple/src/test/java/github/LRUCache.java:15
ClassPropertiesFileUtil
@author shuang.kou @createTime 2020年07月21日 14:25:00
rpc-framework-common/src/main/java/github/javaguide/utils/PropertiesFileUtil.java:16
ClassProtostuffSerializer
@author TangMinXuan @createTime 2020年11月09日 20:13
rpc-framework-simple/src/main/java/github/javaguide/serialize/protostuff/ProtostuffSerializer.java:13
ClassRandomLoadBalance
Implementation of random load balancing strategy @author shuang.kou @createTime 2020年06月21日 07:47:00
rpc-framework-simple/src/main/java/github/javaguide/loadbalance/loadbalancer/RandomLoadBalance.java:15
ClassRpcClientProxy
Dynamic proxy class. When a dynamic proxy object calls a method, it actually calls the following invoke method. It is precisely because of the dynamic
rpc-framework-simple/src/main/java/github/javaguide/proxy/RpcClientProxy.java:26
EnumRpcConfigEnum
rpc-framework-common/src/main/java/github/javaguide/enums/RpcConfigEnum.java:6
ClassRpcConstants
@author wangtao . @createTime on 2020/10/2
rpc-framework-simple/src/main/java/github/javaguide/remoting/constants/RpcConstants.java:10
EnumRpcErrorMessageEnum
@author shuang.kou @createTime 2020年05月12日 16:45:00
rpc-framework-common/src/main/java/github/javaguide/enums/RpcErrorMessageEnum.java:11
ClassRpcException
@author shuang.kou @createTime 2020年05月12日 16:48:00
rpc-framework-common/src/main/java/github/javaguide/exception/RpcException.java:9
ClassRpcMessage
@author wangtao @createTime 2020年10月2日 12:33
rpc-framework-simple/src/main/java/github/javaguide/remoting/dto/RpcMessage.java:10
ClassRpcMessageCodec
@ClassName RpcMessageCodec @Description 可共享的 RPCMessage 编解码器 @Author jiangyang1556 @Date 2025/9/29 17:04 @Version 1.0
rpc-framework-simple/src/main/java/github/javaguide/remoting/transport/netty/codec/RpcMessageCodec.java:32
ClassRpcMessageDecoder
custom protocol decoder <pre> 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 +-----+---
rpc-framework-simple/src/main/java/github/javaguide/remoting/transport/netty/codec/RpcMessageDecoder.java:43
ClassRpcMessageEncoder
<p> custom protocol decoder <p> <pre> 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 +-
rpc-framework-simple/src/main/java/github/javaguide/remoting/transport/netty/codec/RpcMessageEncoder.java:43
ClassRpcMessageFrameDecoder
@ClassName RpcMessageFrameDecoder @Description RPCMessageFrame解析器 不能共享 @Author jiangyang1556 @Date 2025/9/28 9:36 @Version 1.0
rpc-framework-simple/src/main/java/github/javaguide/remoting/transport/netty/codec/RpcMessageFrameDecoder.java:13
ClassRpcRequest
@author shuang.kou @createTime 2020年05月10日 08:24:00
rpc-framework-simple/src/main/java/github/javaguide/remoting/dto/RpcRequest.java:11
ClassRpcRequestHandler
RpcRequest processor @author shuang.kou @createTime 2020年05月13日 09:05:00
rpc-framework-simple/src/main/java/github/javaguide/remoting/handler/RpcRequestHandler.java:19
InterfaceRpcRequestTransport
send RpcRequest。 @author shuang.kou @createTime 2020年05月29日 13:26:00
rpc-framework-simple/src/main/java/github/javaguide/remoting/transport/RpcRequestTransport.java:12
EnumRpcRequestTransportEnum
@Author xiaobiaoxu @Date 2023年02月24日 15:30
rpc-framework-common/src/main/java/github/javaguide/enums/RpcRequestTransportEnum.java:10
ClassRpcResponse
@author shuang.kou @createTime 2020年05月12日 16:15:00
rpc-framework-simple/src/main/java/github/javaguide/remoting/dto/RpcResponse.java:12
EnumRpcResponseCodeEnum
@author shuang.kou @createTime 2020年05月12日 16:24:00
rpc-framework-common/src/main/java/github/javaguide/enums/RpcResponseCodeEnum.java:11
ClassRpcServiceConfig
@author shuang.kou @createTime 2020年07月21日 20:23:00
rpc-framework-simple/src/main/java/github/javaguide/config/RpcServiceConfig.java:9
ClassRuntimeUtil
@author hty @createTime 2020年09月18日 15:43:00
rpc-framework-common/src/main/java/github/javaguide/utils/RuntimeUtil.java:7
EnumSerializationTypeEnum
@author wangtao . @createTime on 2020/10/2
rpc-framework-common/src/main/java/github/javaguide/enums/SerializationTypeEnum.java:10
ClassSerializeException
@author shuang.kou @createTime 2020年05月13日 19:54:00
rpc-framework-common/src/main/java/github/javaguide/exception/SerializeException.java:7
ClassSerializeException
rpc-framework-simple/src/main/java/github/javaguide/serialize/kyro/KryoSerializer.java:61
InterfaceSerializer
序列化接口,所有序列化类都要实现这个接口 @author shuang.kou @createTime 2020年05月13日 19:29:00
rpc-framework-simple/src/main/java/github/javaguide/serialize/Serializer.java:11
InterfaceServiceDiscovery
service discovery @author shuang.kou @createTime 2020年06月01日 15:16:00
rpc-framework-simple/src/main/java/github/javaguide/registry/ServiceDiscovery.java:14
EnumServiceDiscoveryEnum
@Author xiaobiaoxu @Date 2023年02月24日 15:33
rpc-framework-common/src/main/java/github/javaguide/enums/ServiceDiscoveryEnum.java:10
InterfaceServiceProvider
store and provide service object. @author shuang.kou @createTime 2020年05月31日 16:52:00
rpc-framework-simple/src/main/java/github/javaguide/provider/ServiceProvider.java:11
InterfaceServiceRegistry
service registration @author shuang.kou @createTime 2020年05月13日 08:39:00
rpc-framework-simple/src/main/java/github/javaguide/registry/ServiceRegistry.java:13
EnumServiceRegistryEnum
@Author xiaobiaoxu @Date 2023年02月24日 15:30
rpc-framework-common/src/main/java/github/javaguide/enums/ServiceRegistryEnum.java:10
ClassSingleTonFactoryTest
@author: Zekun Fu @date: 2025/5/10 21:37 @Description:
rpc-framework-common/src/test/java/github/javaguide/factory/SingleTonFactoryTest.java:18
ClassSingletonBean
rpc-framework-common/src/test/java/github/javaguide/factory/SingleTonFactoryTest.java:54
ClassSingletonFactory
获取单例对象的工厂类 @author shuang.kou @createTime 2020年06月03日 15:04:00
rpc-framework-common/src/main/java/github/javaguide/factory/SingletonFactory.java:20
ClassSocketClientMain
@author shuang.kou @createTime 2020年05月10日 07:25:00
example-client/src/main/java/github/javaguide/SocketClientMain.java:12
ClassSocketRpcClient
基于 Socket 传输 RpcRequest @author shuang.kou @createTime 2020年05月10日 18:40:00
rpc-framework-simple/src/main/java/github/javaguide/remoting/transport/socket/SocketRpcClient.java:24
ClassSocketRpcRequestHandlerRunnable
@author shuang.kou @createTime 2020年05月10日 09:18:00
rpc-framework-simple/src/main/java/github/javaguide/remoting/transport/socket/SocketRpcRequestHandlerRunnable.java:18
ClassSocketRpcServer
@author shuang.kou @createTime 2020年05月10日 08:01:00
rpc-framework-simple/src/main/java/github/javaguide/remoting/transport/socket/SocketRpcServer.java:24
ClassSocketServerMain
@author shuang.kou @createTime 2020年05月10日 07:25:00
example-server/src/main/java/SocketServerMain.java:10
ClassSpringBeanPostProcessor
call this method before creating the bean to see if the class is annotated @author shuang.kou @createTime 2020年07月14日 16:42:00
rpc-framework-simple/src/main/java/github/javaguide/spring/SpringBeanPostProcessor.java:27
ClassStringUtil
String 工具类 @author zhanghua @createTime 2022/3/6 12:58 上午
rpc-framework-common/src/main/java/github/javaguide/utils/StringUtil.java:9
ClassThreadPoolFactoryUtil
创建 ThreadPool(线程池) 的工具类. @author shuang.kou @createTime 2020年05月26日 16:00:00
rpc-framework-common/src/main/java/github/javaguide/utils/concurrent/threadpool/ThreadPoolFactoryUtil.java:15
ClassUnprocessedRequests
unprocessed requests by the server. @author shuang.kou @createTime 2020年06月04日 17:30:00
rpc-framework-simple/src/main/java/github/javaguide/remoting/transport/netty/client/UnprocessedRequests.java:15
ClassZkServiceDiscoveryImpl
service discovery based on zookeeper @author shuang.kou @createTime 2020年06月01日 15:16:00
rpc-framework-simple/src/main/java/github/javaguide/registry/zk/ZkServiceDiscoveryImpl.java:24
ClassZkServiceProviderImpl
@author shuang.kou @createTime 2020年05月13日 11:23:00
rpc-framework-simple/src/main/java/github/javaguide/provider/impl/ZkServiceProviderImpl.java:24
ClassZkServiceRegistryImpl
service registration based on zookeeper @author shuang.kou @createTime 2020年05月31日 10:56:00
rpc-framework-simple/src/main/java/github/javaguide/registry/zk/ZkServiceRegistryImpl.java:16
ClassZkServiceRegistryImplTest
@author shuang.kou @createTime 2020年05月31日 16:25:00
rpc-framework-simple/src/test/java/github/javaguide/registry/ZkServiceRegistryImplTest.java:21