架构总结

1:系统架构
2:系统质量保证
2.1单元测试
2.2代码质量管理平台
3:系统性能保证
3.1:缓存
3.1.1 缓存
3.1.1.1 自定义实现(多级缓存)
3.1.1.2 NoSQL(Redis,Memcached,MongoDB,PostgreSQL)
3.2:异步
3.2.1 编程语言层面异步
3.2.2 消息队列实现异步
3.3:负载均衡(软件负载均衡:LVS、Nginx 硬件负载均衡:F5)
3.3.1 动静分离
3.4:数据库读写分离
3.4.1 搭建主从集群,master处理事务性增、删、改操作,slave处理select查询操作
3.4.2 代码中进行处理或者使用商业中间件形式的读写分离中间件自动将读写数据库操作调度到不同数据库上。
3.4.3 数据库选型,采用关系型数据库还是非关系型数据库完全取决的业务场景,如果要实现实时性要求高,数据一致性要求高的场景,选关系型数据库.
如果要实现海量数据的查询和高并发的场景,选非关系型数据库.也可以两者结合使用.
3.5:多层级集群
3.5.1 Web服务器层、NoSQL层级数据库层都实现集群
3.6:分布式搜索引擎(提供站内全文搜索)
4:系统安全性保证
4.1 XSS攻击
4.2 SQL注入
4.3 CSRF攻击
4.4 其他攻击
5:开发相关的经验教训
5.1 应用日志记录
日志级别:FATAL(致命错误)、ERROR(一般错误)、WARN(警告)、INFO(一般信息)、DEBUG(调试信息)。
5.2 历史记录追踪
5.2.1 代码管控
5.2.2 代码审核
5.2.3 Bug记录

企业级应用系统架构演变
传统垂直架构->RPC架构->SOA服务化->微服务

站内全文搜索引擎的作用:
互联网已经是一个海量的信息资源库,所以产生了百度,谷歌这样的搜索引擎,帮助用户找到全网的信息,
而每个网站,也同样需要一个站内搜索,帮助站内的用户检索需要的信息,从这个意义上讲,
站内搜索其实是解决信息过载的一个解决方案,是每个网站必备的功能,也是提高用户体验的有效方式之一
什么是信息过载?
信息过载是指社会信息超过了个人或系统所能接受、处理或有效利用的范围,并导致故障的状况。
依赖注入和控制反转
什么是控制反转IOC?
控制反转是指将由程序本身创建依赖对象的过程交由IOC容器去创建,由IOC容器控制依赖对象的创建和注入
什么是依赖注入?
依赖注入是指动态向某个对象提供共他所需要的其他对象

原文地址:https://www.cnblogs.com/zzlblog/p/8522527.html