用java搭建一个分布式服务器(一)

本专栏主要介绍如何用java实现一个小型分布式(单机多进程模式)服务器,希望能给刚开始学分布式的朋友一些帮助。讲得不对的地方欢迎在评论区指出。
用到的主要技术栈:

netty 网络传输框架 
spring-boot
java网络编程
Java多线程和并发编程
RPC(远程过程调用)方法的实现
ProtoBuf 传输序列化框架

下面来讲给一些这些技术的基础入门链接,因为这些技术的基础不是本文的重点

1、Netty 网络传输框架

学习链接
Netty下载
想要深入了解netty,可到github上面去找一些netty的项目学学做做

我说说示例项目中会用到的netty知识

1、netty的protobuf扩展:netty作为底层网络传输框架,protobuf作为传输协议,二者是合
作的关系,所以必须得相互兼容。
2、了解一下netty的事件驱动模型,最好去看看目前几种比较常用的事件驱动模型的处理机制。
3、熟悉用netty打开传输服务的流程和机制。

上面提到的内容在以后的讲解中我都会一一说明。

2、spring-boot

学习资料
Spring-Boot官方网址

同样,想要深入了解spring-boot,可到github上面去找一些netty的项目学学做做

服务器中会用到spring-boot的知识

1、搭建一个spring-boot的服务器
2spring-boot如何与mysql进行交互
3spring-boot自动装载机制是如何实现的 

3、Java网络编程、多线程和并发编程

这些知识属于java核心技术中的基础知识。
分布式编程核心的问题中也要解决一个多线程并发的问题,所以要学会掌握多线程编程是刻不容缓的。
另外,分布式服务一般不使用Tomcat等服务容器,所以自己接触网络底层编程的机会就变多了,网络编程在即将开发的示例分布式服务器中,主要是用于理解Netty网络交互的实质,有助于使开发人员理解网络传输实质。

4、RPC(远程过程调用)

了解RPC
目前市面上有很多现成的RPC框架,比如Google的gRpc、HttpClient等。本专栏将以单独的一篇博客来讲解如何实现多进程之间的远程过程调用。

5、ProtoBuf 传输(反)序列化框架

版本3学习资料
官网需要翻墙才能访问,此处就不贴链接了。

有了以上的知识,就可以开始学习分布式服务器的demo学习了。本专栏余下的部分我会在端午节中完成。

猜你喜欢

转载自blog.csdn.net/xielinrui123/article/details/80692804