基础架构及中间件体系概述 | 许进沉思录-专注于互联网与中间件基础架构技术研究 http://xujin.org/mw/insArch/
基础架构及中间件体系概述
摘要: 本文主要是记录自己对基础架构职责和中间件技术体系理解的,渐进式理解记录。
一.基础架构职责
- 设计和开发新一代的基础组件,为重构项目提供技术平台
- 设计和构建统一的应用开发框架,提高应用开发效率和质量
- 建立统一的应用构建标准,为实现对应用的管理,监控和治理的自动化建立基础
- 评估和引进各种国外先进技术,提高公司平台的技术水准
- 建立公司的开源项目,对内部开发的含金量高的项目实现开源,以提高公司的知名度
二.基础架构解决方案
2.1 技术体系方案
这些技术解决方案包括:
统一的服务化框架体系
-
服务化是IT技术架构升级改造的核心内容,提供统一的完整的服务化框架体系尤为重要,该体系为构建“分布式服务架构”提供了技术平台,它涵盖了构建和管理一个服务的整个生命周期所需的各种框架和工具。
-
移动客户端和服务端中间层框架
随着越来越多的用户使用移动App购物,快速研发不同的移动App十分重要,因此构建统一的移动客户端和服务端中间层框架就十分有意义,它不仅能加快移动App的研发,也为提高移动App的产品质量提供了保障。
-
系统集成组件—消息总线
随着互联网应用平台包含各种各样的应用,各应用之间需要保持不同形式的信息交换,有些是同步的,有些是异步的,系统集成组件—消息总线则提供了一组组件以满足应用之间异步通讯之需要。
-
服务的授权,监控和治理
随着系统变得越来越大,越来越复杂,服务数目越来越多,如何对该庞大的系统进行有效的管理,安全的管控以及服务质量的监控就非常重要,因此需要有一整套的工具确保监控,授权和服务的治理。
三.目前中间件
3.1 服务治理中间件
例如:dubbo,Spring Cloud等
3.2 服务网关中间件
Spring Cloud Zuul,包括目前自研的Janus网关
3.2 配置中心
例如:Spring Cloud Config,携程阿波罗
3.3 全链路监控
例如:点评Cat,Spring Cloud Selut+Pinpoint,唯品的Mercury
3.4 应用框架
应用框架存在的意义就是把分散的中间件,以最佳案例使用的方式,结合代码生成器,生成一套带有公司风格的代码。
3.5 数据库中间件
例如:Mycat,Kingsoft(Go语言)
3.6 代码生成器
工业化生成代码,提高开发效率,代码质量。
3.7 多级缓存或分布式缓存
3.8 服务鉴权中间件
3.9 消息中间件
3.10 分布式调度中心
Scheduler 是定时任务调度中心,旨在为业务系统提供统一通用的任务调度服务,提供定时任务的管理监控平台,减轻业务系统开发和后续线上运维的工作量,并通过任务拆分和负载均衡等方案提升大数据量任务的性能。
集中管控:开发人员和配置管理员可以在界面上配置管理做任意周期性调度任务。
触发策略可定制:提供可定制化的策略脚本,满足各种业务不同的定制化需求。
高性能:显著提升大数据量的批任务处理的性能。
Switch开关中间件
开关
switch提供统一的方式来定义开关、统一的控制台和api来对开关进行查询和操控。Switch定义的开关包含丰富的可读性属性,为开关信息的维护和传承提供便利。
优点
使用简单:switch框架提供非常简单的使用方式,对应用方原来的使用侵入小