16

BAT 企业技术架构

 4 years ago
source link: https://www.tuicool.com/articles/RJrqMbN
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

点击蓝色“ 乔志勇笔记 ”关注我哟

加个“ 星标 ”,第一时间获取推送的文章哦

B3QbU3r.jpg!web

互联网标准技术架构图       

一、储存层

1、SQL

1)采用统一的分库分表中间件

解决数据如何拆分,数据如何组合问题,满足性能问题

2)构建SQL储存平台

统一提供资源分配,数据备份,迁移,容灾,读写分离,分库分表,满足资源的利用率问题,运维效率问题

2、NoSQL

NoSQL集群的基础上构建统一的储存平台,实现资源动态按需分配,资源自动化管理,故障自动化管理。

3、小文件储存

小文件定义:数据小,数据量大,访问量巨大,比如商品图片,商品描述

在开源FASTDFS等的基础上进行封装

4、大文件储存

范围:

1)业务上的大数据,比如电影视频

2)海量的日志数据

在Hadoop的基础上封装成大数据平台

二、开发层

1、开发框架

指定大的技术方向,使用统一的成熟开发框架

2、web服务器

选择开源的web服务器,有需要可以在此基础上封装

3、容器

代替虚拟机,以docker为代表,实现可伸缩

三、服务层

1、配置中心

集中配置,快速变更配置,快速搭建新环境

2、服务中心

解决跨系统依赖的配置和调度问题

实现方式:1)服务名字系统 例如Eureka +Feign

2)服务总线系统 例如nginx

对比:

ZBviM3m.jpg!web

3、消息队列

解耦,异步,削峰,消息的可靠性,事务性,时序性需要单独考虑

三、网络层

1、负载均衡

1)DNS \http-DNS

2) Nginx ,LVS ,F5

2、CDN

分布式存储、全局负载均衡、网络重定向、流量控制等都属于 CDN 的范畴

3、多机房

主要目标是备灾

分类:

1)同城多机房

2)跨城多机房

3)跨国多机房

4、多中心

多点同时提供服务,故障自动切换

关键在于数据一致性和数据事务性的保证

举例:

两地三中心,是指同城两个机房是双活,异地机房是备份,当同城两个机房都挂掉,异地机房不能接管业务,只能用来备份恢复

四、用户层

1、用户管理

把众多分散的用户连接起来,例如单点登录

2、消息推送

设备管理(唯一标识、注册、注销)、连接管理和消息管理

3、储存云、图片云

存储云和图片云都是基于“CDN + 小文件存储”的技术,图片云提供裁剪、压缩、美化、审核、水印等更多功能

五、业务层

基于业务如何拆分服务

六、运维平台

运维平台核心的职责分为四大块:配置、部署、监控、应急

运维平台的核心设计要素是“四化”:标准化、平台化、自动化、可视化

七、测试平台

架构:

YvMj2a2.jpg!web

八、数据平台

架构:

reaeMj7.jpg!web

九、管理平台

提供所有系统的身份认证 和权限认证功能

参考:李运华的从0开始学架构

限时分享面试&学习福利资源

好资料第一时间分享,中华石杉老师的 分布式面试突击 视频教程,最清晰整体的 微服务全面解读 的PDF, 体系化的Java路线 资料整理的Github, 亿级电商架构 的视频实战课程,你值得拥有

获取方式: 关注公众号 乔志勇笔记 , 后台回复"学习资料" !!!

YZNv2uQ.jpg!web

近期文章:

如何开始架构设计

高性能架构模式

储存高可用架构

到底如何理解CAP

微服务架构————基本组件

微服务实战问题

微服务架构进阶

秒杀系统设计

分布式数据一致性理解

5种分布式锁实现的对比?

Java并发编程学习体系

java8 Stream 史上最全总结

如果你喜欢本文

请长按二维码,关注 乔志勇笔记

nUVryqI.jpg!web

转发 朋友圈 ,是对我最大的支持哟

如果你喜欢这篇文章,在看,转发吧。

相信明天更加美好 (*^__^*) 


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK