Shockweb - 分布式框架微服务架构


GPL
跨平台
Java

软件简介

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所有组件提供统一的配置服务