京东架构

下面的内容只是一些概要的介绍,更多具体的内容,请下载附件查看。

另外特别声明,该文档的作者不是我。具体是哪位京东的同时已经不记得了,这里表示下敬意。

概述

SOA七大阶段

1

我用人话翻译一下啊。

  • 基础架构

这一部分主要解决系统的高可用性和资源利用率的问题
指的一般是运维层面的事情。比如早期是单机的,然后有了HA或者Nginx,然后又有了虚拟化方面的技术比如:vmware和openstack, 更后面又有了docker。还有一部分是存储技术的发展带来的一些应用。
基于存储技术,解决了一些数据同步和备份的问题,比如基于存储技术可以在不使用主从配置的情况下就能够做集群Mysql等。
基于虚拟化的技术解决了弹性云的问题,通过一些监测手段来实时监控虚拟环境,然后动态的修改环境的配置来达到资源最大的利用率。

  • 系统架构

这一部分主要关注的是可扩展性和性能问题
主要使用的技术是分布式调度框架,MQ中间件,restful等

  • 应用软件

主要解决可扩展和模块化的问题
这边主要靠的是设计能力了,并没有框架能够很好的解决问题, 把功能聚合成单独的模块和系统,然后单独的供给其他模块和系统调用。 通常都是部门为单位了。
这边通常会给沟通方面带来比较大的问题,容易产生部门墙,对于管理的要求也更高一些。各种文档、接口说明等等会比小的团队要求高很多。
到这里有一个云平台准们管理API接口就是很必要的了。

  • 流程方法

主要是建模方式、最具参考价值的是面向对象、面向服务和领域模型技术。

  • 业务角度

最终的对外的接口, 是由很多底层接口拼接而成的。基本偏向于纯业务了。

发展阶段示例

1
可以简单认为最后一张图就是加入了分布式调用中间件(如motan), 和数据库中间件(云存储,主要是基于代理的)。

架构实施步骤

1
重点说一下,这个是一个不停的迭代的过程, 就像代码重构一样,一遍又一遍的梳理和迁移。
我觉得架构都是慢慢改出来的,并不是一次设计出来的。

愿景

好吧,所有公司的分布式架构都是这样的愿景:
1

总体架构原则

简单实用的原则, 字字珠玑。
1

质量要求

1
这里涉及非功能部分和管理方面的工作量很多。

  • 可支持、可测试 可能需要引入挡板系统,并且在管理上提测前需要加上单元测试覆盖率等指标
  • 设计质量 会需要开概要设计评审会,对文档和代码注释覆盖率都有要求
  • 运行时质量 这边需要引入很多框架,比如安全方面的shiro,单点登录,auth2.0, 为了可管理需要引入各种管理端,比如基于zk的配置管理。分布式调用框架的管理。系统存活监控等等。

京东架构发展

1
这里主要可以看出其实架构的提升主要是因为各种新技术的使用

京东的SOA架构

1

1

posted @ 2019-03-13 16:50  夏延  阅读(2360)  评论(0编辑  收藏  举报