文档章节

缓存架构+高可用服务架构+微服务架构

liwei2000
 liwei2000
发布于 2017/09/07 11:10
字数 1732
阅读 445
收藏 8
点赞 0
评论 0

《亿级流量电商详情页系统实战》的内容,主要是基于简化以后的大型电商详情页系统的背景,来重点讲解了三块内容:Redis集群架构、大型高并发缓存架构以及基于Hystrix的高可用服务架构。而《亿级流量电商详情页系统实战:缓存架构+高可用服务架构+微服务架构》的升级,会站在一个更高更大的角度,来架构和开发一整套完整的大型电商商品详情页系统架构,具体内容如下:

1、完整的大型电商详情页系统架构:不再只是关注电商详情页架构中的缓存架构部分,而是关注全链路、全流程的完整架构,对完整的架构进行设计以及开发,包括了动态渲染系统、OneService系统、前端页面、大型工程运维四个部分。

2、完全真实的业务服务:这是与课程第一版内容的最大区别。课程第一版中,基于大幅度简化后的业务场景来讲解,虽然技术架构是完全真实的,但是业务场景基本属于Demo级,跟实际生产脱离较大,不利于同学们理解和学习。因此课程第二版中的内容,基于完全真实而且完整的业务服务,将多个服务中完整而且真实的业务逻辑都实现和开发了,大家可以基于完全真实的业务场景来学习和实战整套架构,包括了商品服务、价格服务、库存服务、配送服务、促销服务。

3、完整的微服务架构的项目实战:微服务完整的架构中,一定是包含了微服务建模/模型设计、基础技术架构、持续交付流水线、容器部署几个环节的,而市面上已有的微服务课程,几乎很少有完全涵盖这些环节的,更不用说微服务架构的实战了。课程中,将会讲解完整的微服务架构,包括基于领域驱动设计来完成微服务建模,基于Spring Cloud作为微服务架构的基础技术架构,基于DevOps思想与Jenkins构建持续交付流水线以及自动化测试套件,基于Docker作为容器部署和运行微服务。同时最有价值的地方在于,课程中基于第二点中讲的完全真实的电商业务,第一点中讲的大型电商详情页的完整系统架构作为背景,来进行项目实战,真正让同学们可以在项目的真实业务以及完整架构中,动手实战整套微服务架构。

4、多机房部署架构下的6级缓存架构:大公司里真实的亿级流量高并发系统,都是采取了多个机房的部署架构,以实现高可用以及异地灾备。课程会重点讲解,在多机房部署架构下,如何设计和实现高并发系统的6级缓存架构。

5、复杂业务场景下的多层次消息队列架构:在复杂的业务场景下,需要设计多层次的消息队列架构,包括了去重队列、优先级队列、本地队列、容错队列等4个层次的复杂架构设计与实现。

6、后台服务的多线程并发架构设计:对于后台运行的服务,需要采用多线程并发设计大幅度提升系统的资源利用率以及吞吐量,因此课程中会讲解如何设计后台服务的多线程并发架构。

7、Redis集群的批量数据查询性能优化:对于分布式的Redis集群,数据在多个实例中分布式存储,如果要优化大批量数据的批量查询性能,就需要采用hash tag分片路由+mget单分批大批量读取的优化设计。

8、高可用架构设计:整套大型系统如何实现高可用架构的设计和部署?需要对基础设施进行全链路高可用部署,同时对整个读链路进行多级降级机制的设计,并且还需要进行基于Hystrix的依赖调用隔离、基于Servlet 3异步化的多业务请求隔离、多服务隔离。

9、基础设施技术涵盖了大型系统中常用的各种技术,包括了:LVS+KeepAlived负载均衡、Nginx+Lua(请求接入+高性能Web服务器+反向代理)、Twemproxy+SSDB+Redis(磁盘+内存的分布式与读写分离双KV集群)、ActiveMQ高可用主从架构、Atlas+MySQL主从架构的读写分离

10、直接可以二次开发的代码:本次升级,采取了大型电商网站商品详情页系统完整的全链路架构,包括基础设施如何部署,以及整体代码架构,都是完全按照公司里来做的。而且各个服务的业务完全用的是真实的业务,只是去掉了一些公司特有的业务而已(比如什么汽车频道、化妆品频道之类特殊的业务背景)。因此本次课程最后做完,产出的架构和代码,对于那些做电商类系统的公司,都是可以直接拿到手,部署基础设施环境之后,就可以进行二次开发的,工业价值非常高!

11、大公司的OneService一站式入口服务:基于商品详情页依赖数十个服务的业务特点,深入讲解了如何设计与开发大公司中常见的一站式入口服务,代理后端数十个服务,作为统一入口,打造服务闭环,实现服务合并+后端服务业务逻辑前置+前端页面业务逻辑后置+统一监控+统一降级。

12、大型电商网站的前端页面的核心业务逻辑:完整讲解了大型电商网站的前端页面如何与后端整套系统配合的业务逻辑,包括了动态渲染系统直接渲染首屏的商品基本信息,滚屏时Ajax异步加载分段存储的商品介绍,Ajax异步调用OenService系统来加载时效性要求很高的价格、库存等数据。

13、大型电商网站的工程运维实践:在大型系统中,一定是需要对整套工程的运维流程做良好的设计的,包括了线下压测、线上压测、灰度发布、高峰期限流。

本文转载自:http://www.roncoo.com/article/detail/129813

共有 人打赏支持
liwei2000
粉丝 37
博文 56
码字总数 43050
作品 0
贵阳
架构~微服务

SpringCloud 分布式配置 SpringCloud 分布式配置 史上最简单的 SpringCloud 教程 | 第九篇: 服务链路追踪 (Spring Cloud Sleuth) 史上最简单的 SpringCloud 教程 | 第九篇: 服务链路追踪 (S...

掘金官方
2017/12/27
0
0
北达软微服务架构设计与实践圆满结束

2016年10月26-27日,为期两天的微服务架构设计与实践在北京大学成功举办。随着新一代信息技术的快速发展,业务需要快速变化、快速创新,互联网的连接带来了大的并发量和数据量。从单机架构走...

玄学酱
05/10
0
0
微服务架构的两大解耦利器与最佳实践

这几年,微服务架构这个术语渐成热门词汇,但它不是一个全新架构,更不是一个包治百病的架构。那么,微服务架构究竟能够解决什么问题,又带来哪些痛点? 本文将与大家谈谈这个问题,以及微服...

雪夜凋零
2017/07/17
0
0
Chris Richardson微服务翻译:微服务介绍

作者简介:Chris Richardson,世界著名的软件架构师,经典著作《POJOS IN ACTION》的作者,cloudfoundry.com 的创始人 微服务目前正受到大量的关注,成为文章、博客、会议讨论的热点。与此同...

butterfly100
2017/11/01
0
0
主流分布式架构的风流韵事...

一、前言 上篇文章,我们聊到了分布式架构的演进过程,那本文我们就来聊一聊目前主流的分布式架构以及分布式架构中常见理论以及如何才能设计出高可用的分布式架构好了。分布式架构中,SOA和微...

Java填坑之路
07/13
0
0
程序猿DD/SpringCloud-Learning

Spring Cloud教程 本项目内容为Spring Cloud教程的程序样例。如您觉得该项目对您有用,欢迎点击右上方的Star按钮,给予支持!! 我的博客:http://blog.didispace.com 我的小密圈(深度交流与...

程序猿DD
2016/11/03
0
0
【开源访谈】腾讯刘豪:腾讯内部有 160 多个业务使用微服务架构

近几年,微服务架构由于其简单和灵活性,受到业内越来越多人士的青睐。目前对“微服务” 的架构风格并没有提供精确的定义,它的优势是什么?在技术选型上需要注意哪些问题?在企业中的应用程...

OSC源创君
2017/08/31
4.3K
14
微服务实战(一):微服务架构的优势与不足

微服务实战(一):微服务架构的优势与不足【编者的话】本文来自Nginx官方博客,是微服务系列文章的第一篇,主要探讨了传统的单体式应用的不足,以及微服务架构的优势与挑战。正如作者所说,...

天天顺利
2015/05/27
0
0
微服务实战(一):微服务架构的优势与不足

作者: Chris Richardson. 来源: dockone.io 发布时间: 2015-05-28 19:58 阅读: 82751 次 推荐: 24 原文链接 [收藏] 摘要:本文来自Nginx官方博客,是微服务系列文章的第一篇,主要探讨了传统...

Q317075064
2016/11/10
11
0
微服务架构的优势与不足(及与SOA区别)

微服务实战(一):微服务架构的优势与不足 作者: Chris Richardson. 来源: dockone.io 发布时间: 2015-05-28 19:58 阅读: 23974 次 推荐: 7 原文链接 [收藏] 摘要:本文来自Nginx官方博客,...

tantexian
2016/04/01
729
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

rabbitmq学习记录(六)交换机Exchange-direct

实现功能:一条消息发送给多个消费者 交换机模式:direct 相比于之前的fanout模式,可以进一步的筛选获取消息的消费者。 fanout模式下,只要消费者监听的队列,已经与接收生产者消息的交换机...

人觉非常君
18分钟前
0
0
Java 之 枚举

Java 中声明的枚举类,均是 java.lang.Enum 类的子类,Enun 类中的常用方法有: name() 返回枚举对象名称 ordinal() 返回枚举对象下标 valueOf(Class enumType, String name) 转换枚举对象 ...

绝世武神
26分钟前
0
0
使用爬虫实现代理IP池之放弃篇

啥叫代理IP以及代理IP池 概念上的东西网上搜索一下就好了,这里简单科普一下(大部分会读这篇文章的人,基本是不需要我来科普的),白话说就是能联网并提供代理访问互联网的服务器,它提供的...

一别丶经年
42分钟前
0
0
sqoop导入数据到Base并同步hive与impala

使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟 基础环境 Sqool和Hive、HBase简介 Sqoop Hive HBase 测试Sqoop 使用Sqoop从MySQL导入数据到Hive 使用复杂SQL 调整Hive数据类型 不断更新 ...

hblt-j
今天
0
0
Dart 服务端开发 文件上传

clent端使用angular组件 upload_component.html form id="myForm" method="POST" enctype="multipart/form-data"> <input type="file" name="fileData"> <!-- file field --></form>......

scooplol
今天
0
0
apache和tomcat同时开启,乱码问题

tomcat和apache同时开启,会走apache的转发,执行的是AJP/1.3协议。所以在tomcat的配置文件server中, <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" useBodyEncodingForU......

Kefy
今天
0
0
使用ssh-keygen和ssh-copy-id三步实现SSH无密码登录 和ssh常用命令

ssh-keygen 产生公钥与私钥对. ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中,ssh-copy-id也能让你有到远程机器的home, ~./ssh , 和 ~/.ssh/authorized_keys的权利 第一步...

xtof
今天
0
0
orcale 查询表结构

SELECT t.table_name, t.colUMN_NAME, t.DATA_TYPE || '(' || t.DATA_LENGTH || ')', t1.COMMENTS FROM User_Tab_Cols t, User_Col_Comments t1WHERE t.table_name......

wertwang
今天
0
0
华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大

华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大!华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大! 在华为最新发布的nova 3手机上,抖音通过华为himedia SDK集成了60fps、超级...

华为终端开放实验室
今天
0
0
多 SSH Key 实现同一台服务器部署多 Git 仓库

本文以以下需求为背景,介绍详细的做法: 需在同一台服务器同时部署两个不同的 Github 仓库(对 Bitbucket 等 git 服务同样适用) root 用户可在远程登录 SSH 后附上预期的 SSH Key 进行 gi...

yeahlife
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部