了解dubbo,netty,spring,spring boot,spring cloud,tomcat,zookeeper,eureka等开源项目源码。精通java语言,以及jvm调优,堆栈溢出排查,高并发瓶颈排查,精通通讯方面的知识点。平时工作主要涉及分布式以及rpc框架开发以及研发公司ESB产品和一套银行通讯前置系统。熟练掌握网络通讯协议如tcp、http等,还有通讯协议转换和报文解析转换。
1.银行前置通讯系统
整个系统实现容器服务化,多应用机制,通过自定义类加载实现应用隔离。应用可通过IDE来配置流程,业务线程池配置,日志相关配置,并提供大量接入接出的通讯适配器,包括http,tcp长连接短链接,https,mq,rpc,jms等其中https,http,tcp还有基于nio的对应实现。在流程配置方面基于jbpm实现,可以进行复杂的流程配置,并提供大量的流程组件,如定长通讯组件、不定长通讯组件、各种具体的通讯组件(搭配各种通讯适配器使用),以及拆拼包组件(搭配各种拆包器使用)支持多种报文协议的拆拼包,还有脚本组件,ftp通讯组件,加解密组件,加签验签组件.其中日志系统分为应用日志和系统日志,系统日志基于log4j,应用日志为自主设计的一套定制化的日志系统,分应用打印日志。
2.RPC SDK
基于dubbo的架构自主研发的rpc框架,支持eureka作为注册中心,zookeeper作为配置中心,通过配置中心可以配置消费关系,熔断,流控,黑白名单,主题订阅等,支持多种负载均衡策略和异常重试机制,支持两地三中心机制,支持tcp协议和http协议通讯,其中http协议可以和spring cloud对接,即基于spring cloud的微服务系统可以不进行任何修改就可以调用rpc sdk暴露的服务,rpc sdk也可以无缝调用spring cloud暴露的服务。
3.ESB企业服务总线系统
其实该系统为RPC SDK和前置通讯系统的整合,支持集中式和分布式部署,可以实现SOA架构和微服务架构。一般作为银行业务系统和核心系统的通讯桥梁(报文转换和通讯协议转换),也就是所谓的企业服务总线。