EE必知—1

来源:互联网 发布:淘宝开发者平台 api 编辑:程序博客网 时间:2024/06/07 13:24
2016年,“双11”,52秒10亿,不到7分钟破百亿,最终一天1207亿元
2017年,“双11”,从凌晨开始,成交额不断更新。10秒钟破16亿元,
3分钟破100亿元,6分钟破200亿,40分钟到500亿,1小时破571亿。
截止早上7点22分,2017天猫双11全球狂欢节成交额达912亿元,
超过2015年双11全天数额,9点零4秒,天猫双十一全球狂欢节交易额破千亿,
最终成交量为1682亿。


如何解决“高并发”,“大流量”,带来的问题?
1、系统连接资源占用紧张
2、缓存容量不足
3、数据库反应缓慢,吞吐降低
---严重时,直接系统雪崩

目前业界方案:扩容,动静分离,缓存,服务降级,限流消峰……



了解:


1、大型网站架构变迁(由单台--分离--集群--分布式集群--服务化架构--微服务化架构)


2、mysql数据库实现主从复制,配合amoeba实现数据库的透明代理,读写分离,sharding(分片,分表),以及对数据库完成负载均衡。


Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy。它集中地响应应用的请求,依据用户事先
设置的规则,将SQL请求发送到特定的数据库上执行。基于此可以实现负载均衡、读写分离、高可用性等需求。
不足:a)、目前还不支持事务 b)、暂时不支持存储过程 、暂时不支持分库分表,amoeba目前只做到分数据库实例,每个被切分的节点
需要保持库表结构一致


3、mysql如何解决大数据量问题(如何做分库、sharding,分表,分区)


4、redis基础操作,以及主从集群实现(HA),(HASH一致算法,实现集群)
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、
zset(sorted set --有序集合)和hash(哈希类型)。


5、nginx + tomcat 实现应用服务器集群支持高并发、实现动静分离,实现静态资源缓存、
Nginx  是一个高性能的HTTP和反向代理服务器;


6、zookeeper分布式集群协助调度中心(zab协议的讲解)、结合阿里dubbo分布式服务框架,完成分布式项目开发
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务;
  Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务
调用方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,
才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架;


7、github源代码管理工具的使用,以及相关命令的介绍


8、springboot、freemarker、springjpa的讲解
FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。
它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。


9、事件驱动架构、CQRS、ActiveMQ
关于CQRS(Command Query Responsibility Segration)架构。简单的说,就是一个系统,从架构上把它拆分为两部分:命
令处理(写请求)+查询处理(读请求)。然后读写两边可以用不同的架构实现,以实现CQ两端(即Command Side,简称C端;Query Side,简称Q端)
的分别优化。CQRS作为一个读写分离思想的架构,在数据存储方面,没有做过多的约束


全文检索引擎es



原创粉丝点击