为了帮助大家更好成长为一个优秀的架构师,
连续分享10期
发送获取第三期(续)
《第二十三阶段、Java大数据高并发系统架构实战方案课程》
架构师分享资料
连续分享10期
发送获取第二期架构师分享资料
发送获取第一期架构师分享资料
架构师的职责是设计一个信息系统的架构,设计过程需要将系统分解为很多个不同的部分,定义各个子系统之间的通信接口,以及各个子系统的技术选型。要成为一个架构师,就需要对设计一个信息系统的各种子系统有所了解。这样才能在面对新的项目时,使用各个组件如同积木一般,选择最合适的部分来搭建信息系统。如下分为几个大的组成部分:1.通信协议各个子系统之间要进行通信,必须要选择一种或多种通信协议,现代比较常见的都是基于HTTP的协议。更早期,为了追求性能,有过一些基于TCP协议的实现。建议还了解下CORBA等RPC方式。了解更多协议对于学习安全也有很大帮助,比如MySQL和PostgreSQL的协议都有安全的设计。
2.序列化系统之间通过网络传输,或者存储到文件时,肯定只有一种格式,就是字符串。要将复杂的数据结构与字符串之间进行转换,就需要用到序列化。简单的序列化如JSON和XML,稍微复杂些的有protobuf、thrift等。需要了解所有这些序列化方式之间的优势和劣势。比如JSON和XML只能用于传递数据,而protobuf与thrift还可以用来做RPC协议。至少要确保每种序列化方式都自己尝试过helloworld。
3.数据库要形成自己的数据库选取风格,就需要先对自己常用的数据库有足够深入的了解。对于关系式数据库,除了一般的Create、Query、Delete、Update操作外。还需要能自行建立索引,数据库的平行扩展,了解如何进行性能调试。以及了解常见查询操作的性能级别,常见的查询性能瓶颈点。一个较好的例子是"SELECTCOUNT(*)FROMtableWHEREdt_create-NOW();"。
4.存储存储分为几种类型。NAS等各家产品有所不同,大多是通过NFS来访问的,这个不必多讲。问题是NAS的价格很高,而且在去IOE的趋势中很多人也不愿意再用。所以经常会有基于文件系统建立小规模存储的需求。要到哪家白癜风治疗好儿童白癜风能治得好吗