# shuttle-transfer-parent **Repository Path**: moriwuzhe/shuttle-transfer-parent ## Basic Information - **Project Name**: shuttle-transfer-parent - **Description**: RPC freemarker - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-08-10 - **Last Updated**: 2022-08-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # shuttle-transfer-parent RPC freemarker ### TODO LIST > 不要引入额外jar, 纯手工实现 > 注册中心 1. 可随意配置 2. 默认: **nacos(高优先)**,**Eureka (高优先)**, **zookeeper(高优先)** ,**local (高优先)**, redis, mysql, eureka, etcd 3. 可扩展, 用户可以自己轻松扩展其他注册中心 > 负载均衡 1. 可随意配置 2. 默认: 随机, 轮训, 权重, 权重轮训, 最少访问, 最快响应等 3. 可扩展, 用户可以自己轻松扩展其他负载均衡算法 > 包扫描实现 1. 启动时扫描所有的类 2. 满足条件的放入到内置容器(非IOC), 可参考IOC > 注解简化使用 1. 扫描@ShuttleService 和 @ShuttleClient 注解 2. 暴露服务到注册中心 3. 客户端可以调用远程服务 4. 客户端访问服务端集群优先级(可考虑为一个负载均衡算法): JVM > 本地 > 同机房 > 同地区 > 拦截器 1. 统计数据 2. 日志打印 3. 可扩展 > 序列化协议 1. jdk 2. json 3. Protobuf 4. protostuff 5. Avro 6. Hessian > 动态代理 1. 多个动态代理实现 > spring 集成包 1. 开发一个 spring-shuttle 包集成到spring中