Shockweb分布式框架微服务架构
ShockWeb天网微服务架构是高效的、易用的、可控的分布式框架微服务架构。提供无侵入、无依赖开发模式,易于在主流中间件部署。支持有状态、无状态两种模式,支持原生IOC、 Spring IOC容器。设计思路与主流spring cloud、dubbo一致,其性能是spring cloud的10倍以上。核心采用netty和高效二进制序列化工具类,架构分为五大部分:注册中心、微服务服务端、微服务客户端、服务代理、配置中心。每一部分都可以自己单独部署和启动、也可以通过java方法调用启动,因此很容易二次开发和扩展。
1. 核心技术
通讯技术
1、采用Netty通讯工具,基于TCP通讯协议
2、点对点、广播通讯模式,客户端直接与服务端通讯不存在代理等中间环节
3、多路复用的通讯信道,在一段时间内保持长连接
串行化技术
1、采用二进制串行化技术,减少串行化后的字节大小,并提高效率
2、对方法名、类名采用编码技术,进一步减少串行化后的字节大小
3、反串行化无需指定实例化类,真正实现代码无侵入
2. 微服务架构组成
注册中心服务器
1、提供若干个spaceName,支持多个微服务分类注册
2、支持多个注册中心集群,只要有一个注册中心正常工作就能提供注册服务,因此提高系统的可靠性和减少资源需求
3、服务治理能力,某个微服务器如果正在处理的任务达到上限,任务将被分派到其他微服务器
4、熔断能力,出错频率或者超时率超过阈值,任务将被分派到其他微服务器,减少服务危害扩散
微服务
1、提供自主和容器方式启动,不依赖任何一种容器
2、与Spring集成,实现Spring服务级调用,完美使用Spring的能力
3、提供简易IOC的功能,并提供数据直传模式,最大化提高传传输性能
客户端
1、集成Spring提供申明时服务调用,同时提供API实现动态化服务调用
2、提供数据直通传输模式,提供大数据传输效率
3、提供广播式调用,多个微服务共同完成同一任务
服务路由
1、提供微服务的路由功能
2、提供反向代理和负载均衡能力
配置中心
1、分布式配置中心
2、对ShockWeb所有组件提供统一的配置服务