简单梳理
基础的,作为整个业务的支撑
sso
passport
config
schedule
distributed-file
id
服务
网关 限流 CAT 加密机 对账
远程调用
rpc
http
mq
脚手架
项目统一生成脚手架
统一 sdk
消息通道
统一推送
sms
sms
phone=call
统一变更(方便后续的根因等)
变更的统一管理
可以和 cmdb + devops 联动
审批流程
日志组件
统一的日志查看平台 ELK
日志脱敏
统一的日志切面等组件
采集===》处理====》持久化
指标 / TRACE
监控中心
日志、SQL、CAT、普米/zabbix
黄金指标:成功率、波动、环比、同比、敏感操作
图的中心算法??
引擎
条件引擎
大数据?
推荐引擎
用户画像
chat
互联网技术公司,中间件部门一般需要哪些能力?要有哪些基础服务?
互联网技术公司的中间件部门是企业技术架构的核心支撑部门,需要具备多维度技术能力和构建关键基础服务。
以下是基于资料的详细分析:
一、中间件部门需要的能力
1. 技术架构能力
- 分布式系统设计:需掌握分布式计算模型、一致性算法(如Paxos、Raft)、CAP理论,支持高可用、容错和横向扩展架构设计。
- 云原生与容器化:需熟悉Kubernetes、Docker等容器编排技术,支持微服务架构的弹性伸缩和自动化部署,实现中间件与云平台的深度集成。
- 协议与通信优化:精通TCP/IP、HTTP/2、gRPC等协议,优化网络传输效率,解决延迟和吞吐量问题。
2. 运维与性能优化能力
- 高并发处理:需设计支持千万级并发请求的系统,如京东JMQ在大促期间处理亿级消息。
- 故障诊断与调优:掌握JVM调优(GC算法、内存泄漏排查)、数据库索引优化、中间件参数调优(如Kafka分区策略)。
- 监控与告警:构建全链路监控体系,集成Prometheus、Grafana等工具,实现中间件性能指标的实时跟踪。
3. 研发与创新能力
- 中间件核心开发:需具备源码级开发能力,例如自研RPC框架(如Dubbo)或消息队列(如RocketMQ),并优化其核心组件(如Netty网络框架)。
- 标准化接口设计:提供统一的API网关、配置中心等接口,降低业务系统接入复杂度。
- 前沿技术融合:探索服务网格(Service Mesh)、Serverless架构等新技术在中间件中的应用。
4. 协作与流程管理能力
- 跨部门协作:与业务部门合作进行需求分析,例如配合金融系统实现分布式事务中间件的定制开发。
- DevOps实践:通过CI/CD流水线实现中间件的自动化测试和灰度发布,确保版本迭代稳定性。
二、中间件部门需要的基础服务
1. 消息中间件
- 功能:异步解耦、削峰填谷、可靠传输。例如Kafka支持海量日志处理,RabbitMQ实现订单队列管理。
- 技术要点:消息持久化、分区副本机制、死信队列处理。
2. 分布式服务框架
- RPC框架:如gRPC、Dubbo,提供跨语言服务调用,支持负载均衡和熔断机制。
- 服务治理:服务注册发现(Zookeeper/Nacos)、链路追踪(SkyWalking)、动态配置中心(Apollo)。
3. 缓存中间件
- 场景:热点数据缓存(Redis)、会话共享(Memcached),降低数据库压力。
- 技术优化:缓存穿透/雪崩防护、集群分片(Redis Cluster)。
4. 数据库中间件
- 功能:分库分表(ShardingSphere)、读写分离、SQL透明路由。
- 技术实现:基于JDBC协议的数据源代理,支持分布式事务(如Seata的AT模式)。
5. 任务调度中间件
- 应用:定时任务(XXL-Job)、分布式批处理(Elastic-Job),支持任务分片和故障转移。
- 特性:可视化调度控制台、任务依赖管理。
6. 安全中间件
- 功能:OAuth2.0认证、JWT令牌管理、API访问控制,例如Kong网关实现鉴权和限流。
- 集成:与LDAP/AD目录服务对接,支持多租户权限隔离。
7. 云化基础设施服务
- 容器编排:通过Kubernetes管理中间件集群,实现自动扩缩容。
- Serverless支持:提供函数计算(如AWS Lambda)的事件驱动中间件服务。
三、典型技术栈与工具
类别 | 常用技术/工具 | 应用场景 |
---|---|---|
消息队列 | Kafka、RocketMQ、RabbitMQ | 订单处理、日志收集 |
RPC框架 | gRPC、Dubbo、Spring Cloud | 微服务间通信 |
缓存 | Redis、Memcached、Ehcache | 热点数据缓存、会话管理 |
配置中心 | Nacos、Apollo、Consul | 动态配置管理、环境切换 |
监控与日志 | Prometheus、ELK、SkyWalking | 性能监控、链路追踪 |
容器化 | Docker、Kubernetes、Helm | 中间件集群部署与编排 |
四、行业实践参考
- 京东中间件团队:通过JMQ消息中间件支撑大促期间亿级消息吞吐,并实现秒级故障切换。
- 金融行业:事务中间件需满足ACID特性,例如东方通TongWeb支持分布式事务的强一致性。
- 政务云:通过中间件即服务(MaaS)提供自动化部署模板,简化应用服务器和消息队列的集群配置。
总结
中间件部门需在技术深度(如分布式系统设计)、运维能力(如高可用保障)、研发创新(如云原生适配)三方面形成闭环,并通过构建消息队列、服务治理、缓存等核心服务,支撑业务系统的快速迭代和高并发场景。
随着技术演进,容器化、服务网格等方向将成为中间件能力扩展的重点。