技术架构图说明1架构设计目标必须满足的功能需求和非功能需求.PDFVIP

技术架构图说明1架构设计目标必须满足的功能需求和非功能需求.PDF

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
技术架构图说明 1. 架构设计目标 ➢必须满足的功能需求和非功能需求。 ➢尽量利用成熟的开源技术,降低成本。 ➢架构必须满足简单、安全升级扩展、伸缩。 ➢全面、准确地界定系统架构的涉及的范围,清楚定义内部系统与外部系统的边界以及交互约定。 ➢确定各子系统的具体职责,子系统间的交互协议和交互过程。 ➢确定系统的开发、部署和运维平台和相应的规范。 ➢为系统设计和后续编码、测试、维护提供原则、基础和规范。 2. 架构设计原则 ➢满足功能性需求和满足非功能需求。这是一个软件系统最基本的要求,也是架构设计时应该遵循的 最基本的原则。 ➢实用性原则。就像每一个软件系统交付给用户使用时必须实用,能解决学校的实际问题,并且系统 必须稳定可靠、性能良好。 ➢可复用性原则。标准模块设计成可重复使用的中间件或标准组件,最大程度的提高开发人员的工作 效率。 ➢单一职责原则。各子系统专注于完成一个特定功能,不交叉耦合,系统间通过设计良好的接口交 互。 ➢可扩展原则。应用面向服务的思想,业务模块子系统通过提供服务的方式对外提供接口,以后有业 务扩展可直接扩展服务即可。系统能够灵活的根据业务量的大小来灵活部署,即可集中式部署也可分 布式部署。 3. 详细说明 3.1. APP 端及Web 端与服务器通讯采用https 1 )认证服务器。客户端内置一个受信任的CA 机构认证的证书。第一阶段服务器会提供经CA 机构认 证颁发的服务器证书,如果认证该服务器证书的CA 机构,存在于客户端的受信任CA 机构列表中, 并且服务器证书中的信息与当前正在访问的网站(域名等)一致,那么客户端就认为服务端是可信 的,并从服务器证书中取得服务器公钥,用于后续流程。否则,客户端将不会继续发起请求。 2 )协商会话密钥。客户端在认证完服务器,获得服务器的公钥之后,利用该公钥与服务器进行加密通 信,协商出两个会话密钥,分别是用于加密客户端往服务端发送数据的客户端会话密钥,用于加密服 务端往客户端发送数据的服务端会话密钥。在已有服务器公钥,可以加密通讯的前提下,还要协商两 个对称密钥的原因,是因为非对称加密相对复杂度更高,在数据传输过程中,使用对称加密,可以节 省计算资源。另外,会话密钥是随机生成,每次协商都会有不一样的结果,所以安全性也比较高。 3 )加密通讯。此时客户端服务器双方都有了本次通讯的会话密钥,之后传输的所有Http 数据,都通 过会话密钥加密。这样网路上的其它用户,将很难窃取和篡改客户端和服务端之间传输的数据,从而 保证了数据的私密性和完整性。 3.2. 为防止客户端证书被伪造,客户端使用证书锁定技术 如果用户手机中安装了一个恶意证书,那么就可以通过中间人攻击的方式进行窃听用户通信以及修改 request 或者response 中的数据。 手机中间人攻击过程 : 1 )客户端在启动时,传输数据之前需要客户端与服务端之间进行一次握手,在握手过程中将确立双 方加密传输数据的密码信息。 2 )中间人在此过程中将客户端请求服务器的握手信息拦截后,模拟客户端请求给服务器(将自己支 持的一套加密规则发送给服务器),服务器会从中选出一组加密算法与 HASH 算法,并将自己的身份 信息以证书的形式发回给客户端。证书里面包含了网站地址,加密公钥,以及证书的颁发机构等信 息。 3 )而此时中间人会拦截下服务端返回给客户端的证书信息,并替换成自己的证书信息。 4 )客户端得到中间人的 response 后,会选择以中间人的证书进行加密数据传输。 5 )中间人在得到客户端的请求数据后,以自己的证书进行解密。 6 )在经过窃听或者是修改请求数据后,再模拟客户端加密请求数据传给服务端。就此完成整个中间 人攻击的过程。 防护办法 : 1 )公钥锁定 将证书公钥写入客户端apk 中,https 通信时检查服务端传输时证书公钥与apk 中是否一致。 2 )证书锁定 : 即为客户端颁发公钥证书存放在手机客户端中,在https 通信时,在客户端代码中固定去取证书信 息,不是从服务端中获取。 3.3. 应用网关具有对应用接口的负载均衡及熔断能力,并可进行失败重试 1 )负载均衡 接口的请求压力有时候会超过单个服务实例的处理能力,这时候我们需要启动多个服务的实例,为了 避免请求压力传导到其中一个实例,我们在网关层面执行轮询策略,即每次请求都分散到不同的服务 实例上。 2 )路由熔断 当我们的后端服务出现异常的时候,我们不希望将异常抛出给最外层,期望服务可以自动进行一降 级。当某个服务出现异常时,直接返回我们预设的信息。 我们通过自定义的fallback 方法,并且将其指定给某个rou

文档评论(0)

suijiazhuang1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档