IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Wheel4J---让你玩转Dubbo与Rpc -> 正文阅读

[网络协议]Wheel4J---让你玩转Dubbo与Rpc

前言:

如果你还在为课设因为没有项目或者校招没有项目而烦恼,或许你还在嫌弃一些烂大街的项目时,我想说该项目可能会适合你。如果你想了解该项目,您可能需要一些前置知识,比如你了解什么是微服务,你或许使用过Dubbo或者了解SpringCloud,又或许你还了解Rpc远程过程调用,又或许你稍微看了一下Spring与Dubbo的通用源码,那么我相信该项目非常的适合你,而且,我也需要你与我的参与一起完善该项目。我相信你的逻辑能力应该能让这个项目发散更多的闪光点。
尽管现在Rpc项目也是越来越多了,但是就目前免费公布的一些源码,它们的实现仅仅是一个Rpc调用,这样的代码量是非常少的,而且项目也算是一个微型项目,然而该项目的功能还是相对比较完善的,当然,我需要你的参与让这个项目更加完善。同时,我也需要你的star,让这个项目被更多人知道。如果你非常感兴趣的话,请访问链接https://github.com/yunlong826/wheel4j star一下,并联系我(qq:1653812264 备注来源),那么我们就可以一起参与该项目了。

前置知识

  1. 熟练搭建分布式项目
  2. 了解分布式相关原理
  3. 粗读过Spring源码/Dubbo源码
  4. 了解Zookeeper/Netty的使用
  5. Rpc相关原理

1. 已完成功能列表

  • 支持服务端多个Api暴露
  • 支持消费端对暴露的Api进行调用
  • 基于netty+json序列化通信
  • zk、netty连接复用
  • netty心跳保活机制
  • 支持消费端调用服务的负载均衡
  • 支持多个负载均衡策略(哈希一致性、最少活跃次数、加权随机、加权轮询)
  • 支持api的多个版本暴露
  • 服务端请求线程池实现

2. 待办

  • 支持多个序列化协议
  • 其他注册中心的支持 (redis)
  • 支持多个配置方式(已经实现xml配置,后续实现注解配置)

3. 项目简介

3.1 构建

在这里插入图片描述

该项目模仿Dubbo,主要是基于Spring容器开发的一款简易版的Dubbo。使用者可以通过XML或者注解的方式进行配置相应信息。该项目使用Zookeeper作为注册中心,并且采用Netty框架进行RPC通信。该项目的主要模块如下:
在这里插入图片描述

4. 搭建教程

读者可以clone源码到本地(JDK1.8),然后本地启动zookeeper服务器(确保本地zk是可用的即可)
在这里插入图片描述

打开wheel-demo模块:
在这里插入图片描述

启动生成者服务器:
在这里插入图片描述

启动后,出现下列类似日志即为成功:
在这里插入图片描述

启动消费者服务器:
在这里插入图片描述

出现以下类似日志即为成功:
在这里插入图片描述

5. 参考资料

https://github.com/yunlong826/dubbo
https://github.com/yunlong826/guide-rpc-framework
https://github.com/jessin20161124/miniDubboOpen

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:57:20  更:2022-07-17 16:58:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:36:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码