大型分布式架构设计与实现-第一章SOA(面向服务的体系架构)
拜读了大型分布式架构设计与实现,觉得该书作为入门不错,但内容过于简单,描述过于琐碎,小节之间连续性不强,不适合深入钻研学习。但为了更多的希望向架构师行业靠拢的工程师学习需要,本博客将对上书进行简化讲解。
小公司建议使用单一应用架构,中等公司建议使用垂直应用架构,大公司必须使用分布式应用架构,其中公司规模依靠用户峰值用户访问量进行判断。
分布式应用难点在于远程调用(RPC),而RPC的前提是对象的序列化和反序列化,序列化本质就是对象以二进制进行传输,反序列化就是接收到二进制数据流后恢复为对象。(若读者愿意,可参考Hessian和Protobuf)
分布式传输则需要参考的协议有传输层协议TCP和UDP,应用层协议HTTP,网络层协议IP,这是基础,请各位看官必须详细了解并掌握。
SOA架构中,服务消费者通过服务名称等在众多服务中找到服务的地址列表,称为服务的路由。为了防止服务器集群中某台服务器超负荷运行,就必须找到可靠的方法来均衡访问流量,这种方法称为负载均衡。小公司可以直接硬编码,中等公司直接硬件F5均衡或者采用软件均衡方案:LVS或Nginx。大公司需要服务配置中心,服务配置中心能够动态注册和获取服务信息,并统一管理服务名称和对应列表。建议读者学习ZooKeeper。
几种负载均衡算法简介:1.轮询法 2.随机法 3.源地址Hash法 4.加权轮询法 5.加权随机法6.最小连接数法 等,读者可大致了解。固定算法无法满足需求时,就需要动态配置规则,读者可学习Groovy脚本语言动态配置规则。
大公司一般有一个网关集群,解决安全问题,可参考京东的网关方案。
所以第一章是基本知识普及,但对于初学者必须好好下功夫,把这些知识点掌握。我很尊敬和崇拜作者,但可能是考虑普及基本知识,以及是一个人的著作,所以第一章过多的代码让第一章过于具体,好处是初学者可以一步一步跟着学,坏处是过于简单的东西其实没有必要写出来,给个连接让读者自己去学习更好,当然这是自己的拙见。个人认为第一章的顺序上可以调整的更好,部分内容应该以补充知识或者附录的形式给出会更好,期待作者新的版本更新。
参考文献
[1] 陈康贤.大型分布式网站架构设计与实践.北京:电子工业出版社.2014
大型分布式架构设计与实现-第一章SOA(面向服务的体系架构)的更多相关文章
- SOA——面向服务的体系架构
上一篇博文中提到了"紧耦合"的现象.怎样解决?SOA.採用面向服务的体系架构. 一.What? SOA=Service-oriented Architecture面向服务的体系结构 ...
- 面向服务的体系架构(SOA)
面向服务的体系架构(SOA) 1.面向服务的体系架构(SOA) 面向服务的架构(service-oriented architecture)是Gartner于2O世纪9O年代中期提出的面向服务架构的概 ...
- 面向服务的体系架构SOA
面向服务的体系架构SOA 序言 在.Net的世界中,一提及SOA,大家想到的应该是Web Service,WCF,还有人或许也会在.NET MVC中的Web API上做上标记,然后泛泛其谈! 的确,微 ...
- 说说面向服务的体系架构SOA
序言 在.Net的世界中,一提及SOA,大家想到的应该是Web Service,WCF,还有人或许也会在.NET MVC中的Web API上做上标记,然后泛泛其谈! 的确,微软的这些技术也确实推动着面 ...
- .net架构设计读书笔记--第一章 基础
第一章 基础 第一节 软件架构与软件架构师 简单的说软件架构即是为客户构建一个软件系统.架构师随便软件架构应运而生,架构师是一个角色. 2000年9月ANSI和IEEE发布了<密集性软件架构建 ...
- 面向服务的体系架构 SOA(二) --- 服务的路由和负载均衡
2. 服务的路由和负载均衡 1.2.1 服务化的演变 SOA设计思想:分布式应用架构体系对于业务逻辑复用的需求十分强烈,上层业务都想借用已有的底层服务来快速搭建更多.更丰富的应用,降低新业务开展的人力 ...
- 分布式架构设计(一) --- 面向服务的体系架构 SOA
1.1 基于TCP协议的RPC 1.1.1 RPC名词解释 RPC的全称是Remote Process Call,即远程过程调用,RPC的实现包括客户端和服务端,即服务调用方和服务提供方.服务调用方发 ...
- 面向服务的体系架构 SOA(三) --- Zookeeper API、zkClient API的使用
zookeeper简单介绍及API使用 1.1 zookeeper简介 zookeeper是一个针对大型分布式系统的可靠的协调系统,提供的功能包括配置维护.名字服务.分布式同步.组服务等.zookee ...
- 使用WCF实现SOA面向服务编程—— 架构设计
原文地址:http://www.cnblogs.com/leslies2/archive/2011/03/29/1997889.html SOA本身就是一种面向企业级服务的系统架构,简单来说,SOA就 ...
随机推荐
- fcn训练及预测tgs数据集
一.背景 kaggle上有这样一个题目,关于盐份预测的语义分割题目.TGS Salt Identification Challenge | Kaggle https://www.kaggle.com ...
- Hello 2019
2019也要创造价值! 热爱生活!
- Azure CosmosDB (10) Azure Cosmos DB体系结构
<Windows Azure Platform 系列文章目录> Azure Cosmos DB的体系结构分为以下几个部分: 1.Database Accounts Database Acc ...
- c++ map 注意事项
1. 往map里面插入元素: 下标方式[]: map[key] = value; 调用insert: map.insert(make_pair(key, value)); 下标方式 ...
- spring boot项目中处理Schedule定时任务
项目中,因为使用了第三方支付(支付宝和微信支付),支付完毕后,第三方支付平台一般会采用异步回调通知的方式,通知商户支付结果,然后商户根据通知内容,变更商户项目支付订单的状态.一般来说,为了防止商户项目 ...
- YARN简述
YARN(Yet Another Resource Negotiator)是Hadoop的集群资源管理系统.YARN提供请求和使用集群资源的API,但这些API很少直接用于用户代码.相反,用户代码中用 ...
- 廖雪峰Java9正则表达式-1正则表达式入门-2正则表达式匹配规则
正则表达式的匹配规则: 从左到右按规则匹配 匹配规则及示例 可以匹配 不能匹配 "abc" "abc" 不能匹配:"ab", "A ...
- Consul集群搭建 2Server+ 3Client
环境说明: 192.168.202.177 consul-server01 192.168.202.177 consul-server02192.168.202.174 mysql server no ...
- C语言编程漫谈——main函数
写在前面 促使我写这篇文章是因为我这几天找了几个一样是大三的同学,与我相同专业相同方向(物联网)的人,除了@小胡同的诗,基本没有什么其他人会现在看起来很简单的编程题目了.问了一下其他同学,他们大部分都 ...
- 02 jmeter性能测试系列_JForum测试论坛的环境搭建
软件测试高端专家培训 QQ 讨论群498721021 网站http://www.szwpinfo.com 1.进入jforum的官方网站,地址http://jforum.net/,下载 2.放入到to ...