做爰视频网站在线看,北京外贸网站设计备案,重庆网站建设公司模板,成都到深圳物流公司个人总结#xff0c;仅供参考#xff0c;欢迎加好友一起讨论 文章目录 架构 - 案例分析 - 架构设计#xff1c;Web架构#xff1e;Web架构知识点单台机器 到 数据库与Web服务器分离应用服务器集群负载均衡负载均衡技术静态与动态算法Session共享机制有状态与无状态 持久化技… 个人总结仅供参考欢迎加好友一起讨论 文章目录 架构 - 案例分析 - 架构设计Web架构Web架构知识点单台机器 到 数据库与Web服务器分离应用服务器集群负载均衡负载均衡技术静态与动态算法Session共享机制有状态与无状态 持久化技术ORM数据库技术CDN内容分发网络XML与JSONWeb应用服务器REST响应式Web设计中台云计算云原生架构边缘计算Web系统分层物联网架构大数据架构 架构 - 案例分析 - 架构设计Web架构
Web架构知识点 高性能、高可用、可维护、应变、安全 单台机器 到 数据库与Web服务器分离 应用服务器集群 应用服务器集群将产生如下问题
用户的请求由谁来转发到具体的应用服务器用户如果每次访问到的服务器不一样那么如何维护session的一致性负载均衡和有无状态问题
负载均衡 负载均衡技术 应用层负载均衡
http重定向
HTTP重定向就是应用层的请求转发。用户的请求其实已经到了HTTP重定向负载均衡服务器服务器根据算法要求用户重定向用户收到重定向请求后再次请求真正的集群。
特点实现简单但性能较差。
反向代理服务器
在用户的请求到达反向代理服务器时已经到达网站机房由反向代理服务器根据算法转发到具体的服务器。常用的apache、nginx都可以充当反向代理服务器。
特点部署简单但代理服务器可能成为性能的瓶颈。
传输层负载均衡
DNS域名解析负载均衡
DNS域名解析负载均衡就是在用户请求DNS服务器获取域名对应的IP地址时DNS服务器直接给出负载均衡后的服务器IP。
特点效率比HTTP重定向高减少维护负载均衡服务器成本。但一个应用服务器故障不能及时通知DNS而且DNS负载均衡的控制权在域名服务商那里网站无法做更多的改善和更强大的管理。
基于NAT的负载均衡
基于NAT的负载均衡将一个外部IP地址映射为多个IP地址对每次连接请求动态地转换为一个内部节点的地址。
特点技术较为成熟一般在网关位置可以通过硬件实现。像四层交换机一般就采用了这种技术。
静态与动态算法
静态算法不考虑动态负载
轮转算法轮流将服务请求任务调度给不同的节点即服务器。加权轮转算法考虑不同节点处理能力的差异。源地址哈希散列算法根据请求的源IP地址作为散列键从静态分配的散列表找出对应的节点。目标地址哈希散列算法根据请求目标IP做散列找出对应节点。随机算法随机分配简单但不可控。
动态算法考虑动态负载
最小连接数算法每个节点处理能力相同的情况下新请求分配给当前活动请求数量最少的节点。加权最小连接数算法:考虑节点处理能力不同按最小连接数分配。加权百分比算法:考虑了节点的利用率、硬盘速率、进程个数等使用利用率来表现剩余处理能力。 硬件负载均衡F5 软件负载均衡LVS、Nginx、HAprox Session共享机制 有状态与无状态
无状态服务stateless service对单次请求的处理不依赖其他请求也就是说处理一次请求所需的全部信息要么都包含在这个请求里要么可以从外部获取到比如说数据库),服务器本身不存储任何信息。
有状态服务stateful service则相反它会在自身保存一些数据先后的请求是有关联的。
判断以下构件是有状态服务还是无状态服务
ldentification Bean身份认证构件ResPublish Bean资源发布构件ResRetrieval Bean资源检索构件onlineEdit Bean在线编辑构件Statistics Bean统计分析构件
持久化技术ORM ORM (Object Relational Mapping对象与关系数据之间的映射。 映射关系表
面向对象关系数据库类class数据库的表table对象object记录record行数据对象的属性attribute字段field
实现技术对比表
维度HibernateMyBatis对比强大、复杂、间接、SQL无关HQL语句小巧、简单、直接、SQL有关可移植性好不关心具体数据库差根据数据库SQL编写复杂多表关联不支持支持
数据库技术
详细请跳转案例数据库分析请移步以下连接 案例分析 - 数据库设计
CDN内容分发网络 CDN的全称是Content Delivery Network即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节使内容传输得更快、更稳定。
XML与JSON
XML
扩展标记语言Extensible Markup LanguageXML用于标记电子文件使其具有结构性的标记语言可以用来标记数据、定义数据类型是一种允许用户对自己的标记语言进行定义的源语言。
优点
格式统一符合标准。容易与其他系统进行远程交互数据共享比较方便。
缺点
XML文件庞大文件格式复杂传输占带宽。服务器端和客户端都需要花费大量代码来解析XML导致服务器端和客户端代码变得异常复杂且不易维护。客户端不同浏览器之间解析XML的方式不一致需要重复编写很多代码。服务器端和客户端解析XML花费较多的资源和时间。
JSON
JSONJavaScript 0bject Notation一种轻量级的数据交换格式具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换。
优点
数据格式比较简单易于读写格式都是压缩的占用带宽小。易于解析客户端JavaScript可以简单的通过eval()进行JSON数据的读取。支持多种语言包括ActionScript、C、 C#、ColdFusion、Java、JavaScript、Perl、PHP、Python、Ruby等服务器端语言,便于服务器端的解析。因为JSON格式能直接为服务器端代码使用大大简化了服务器端和客户端的代码开发量且完成任务不变并且易于维护。
缺点
某些领域XML更通用。
Web应用服务器
Wwb应用服务器可以理解为两层意思
WEB服务器其职能较为单一就是把浏览器发过来的Request请求返回Html页面。应用服务器进行业务逻辑的处理。
ApacheWeb服务器市场占有率60%左右。它可以运行在几乎所有的Unix、Windows、Linux系统平台上。
IIS早期Web服务器目前小规模站点仍有应用。
Tomcat开源、运行Servlet和JSP Web应用软件的基于Java的Web应用软件容器。
JBOSSJBOSS是基于J2EE的开放源代码的应用服务器。一般与Tomcat或Jetty绑定使用。
WebSphere一种功能完善、开放的Web应用程序服务器它是基于Java的应用环境用于建立、部署和管理lnternet和Intranet Web应用程序。
WebLogicBEA WebLogic Server是一种多功能、基于标准的web应用服务器为企业构建自己的应用提供了坚实的基础。
Jetty Jetty是一个开源的servlet容器它为基于Java的web内容例如JSP和servlet提供运行环境。
REST
REST (Representational State Transfer表述性状态转移是一种通常使用HTTP和XML进行基于Web通信的技术可以降低开发的复杂性,提高系统的可伸缩性。
REST的5个原则
网络上的所有事物都被抽象为资源。每个资源对应一个唯一的资源标识。通过通用的连接件接口对资源进行操作。对资源的各种操作不会改变资源标识。所有的操作都是无状态的。
响应式Web设计
响应式Web设计是一种网络页面设计布局其理念是集中创建页面的图片排版大小可以智能地根据用户行为以及使用的设备环境进行相对应的布局。例如满足手机端平板PC端等多种设备下的全部适应。
方法与策略
采用流式布局和弹性化设计使用相对单位设定百分比而非具体值的方式设置页面元素的大小。响应式图片不仅要同比的缩放图片还要在小设备上降低图片自身的分辨率。
中台
中台是一套结合互联网技术和行业特性将企业核心能力以共享服务形式沉淀形成“大中台、小前台”的组织和业务机制供企业快速低成本的进行业务创新的企业架构。中台又可以进一步细分比如业务中台、数据中台、XX中台。本质上都是对企业通用能力在不同层面的沉淀并对外能力开放。 中台的践行者 Supercell芬兰移动游戏巨头2015年世界游戏前10占5席员工仅200多人因使用中台具有小团队快速开发能力后被腾讯86亿美金收购。 阿里2015年参观Supercell而后推行中台。 例如阿里中台 业务中台提供重用服务例如学员中心、课程中心之类的开箱即用可重用能力。
数据中台提供数据整合分析能力帮助企业从数据中学习改进调整方向。
技术中台提供技术重用组件能力帮助解决基础技术平台的复用。如中间件、分布式存储、AI、负载均衡等基础设施。
业务中台 vs 数据中台
多个电商渠道使用一个下单服务一个订单接口同时为多个前台系统提供服务。多个前台系统根据一个用户的手机号获取对应的画像、用户的标签。将多个支付通道,抽象建立成一个支付API暴露给前台业务系统。通过一个订单编号来获取可能的商品推荐清单从而做到交叉销售。
数据中台必备的4个核心能力
数据汇聚整合能力数据提纯加工能力数据服务可视化价值变现方面
云计算
云计算是集合了大量计算设备和资源对用户屏蔽底层差异的分布式处理架构其用户与提供实际服务的计算资源是相分离的。
优点超大规模、虚拟化、高可靠性、高可伸缩性、按需服务、成本低【前期投入低、综合使用成本也低】。
按照服务类型分类
Saas软件即服务基于多租户技术实现直接提供应用程序。Paas平台即服务虚拟中间件服务器、运行环境和操作系统。laaS基础设施即服务包括服务器、存储和网络等服务。
按照部署方式分类
公有云面向互联网用户需求通过开放网络提供云计算服务。私有云面向企业内部提供云计算服务。混合云兼顾以上两种情况的云计算服务公有云和私有云通过网络进行数据与应用的交互。
架构图如下 管理层提供对所有层次云计算服务的管理功能。用户访问层方便用户使用云计算服务所需的各种支撑服务针对每个层次的云计算服务都需要提供相应的访问接口。应用层提供软件服务如财务管理、客户关系管理、商业智能。平台层为用户提供对资源层服务的封装使用户可以构建自己的应用。资源层提供虚拟化的资源从而隐藏物理资源的复杂性。如服务器、存储。
云原生架构
云原生是基于分布部署和统一运管的分布式云以容器、微服务、DevOps 等技术为基础建立的一套云技术产品体系。
云原生架构设计原则
服务化原则使用微服务弹性原则可根据业务变化自动伸缩可观测原则通过日志、链路跟踪和度量韧性原则面对异常的抵御能力所有过程自动化原则自动化交付工具零信任原则默认不信任网络内部和外部的任何人/设备/系统架构持续演进原则业务高速迭代情况下的架构与业务平衡
云原生架构模式
服务化架构模式 典型代表 【微服务】服务拆分使维护压力大增。Mesh化架构模式 把中间件框架RPC 、 缓存、异步消息从业务进 程中分离 由Mesh进程完成。Serverless模式 非常适合于事件驱动的数据计算任务。存储计算分离模式 各类暂态数据如session用云服务保存。分布式事务模式 解决微服务模式中多数据源事务问题。可观测架构 包括Logging 、Tracing 、Metrics三个方面。事件驱动架构 本质上是一种应用/组件间的集成架构模式。
云原生架构反模式
庞大的单体应用需要多人开发的业务模块考虑通过服务化进行拆分并让组织与架构匹配单体应用“硬拆”为微服务服务拆分要适度小规模软件的服务拆分为拆而拆、数据依赖服务间数据依赖、性能降低缺乏自动化能力的微服务手动维护大量微服务是不现实的
微服务设计约束
微服务个体约束每个微服务都是独立的修改一个微服务不能影响另一个微服务微服务与微服务之间的横向关系通过第三方服务注册中心来满足服务的可发现性微服务与数据层之间的纵向约束数据是微服务的“私产”访问时需要通过微服务全局视角下的微服务分布式约束高效运维整个系统 边缘计算
边缘计算是指在靠近物或数据源头的一侧采用网络、计算、存储、应用核心能力为一体的开放平台就近提供最近端服务其本质是计算处理职能的本地化。 Web系统分层 物联网架构
应用层应用服务智能终端。
平台层操作系统软件开发设备管理平台连接管理平台。
网络层接入网核心网业务网专有网络通信标准/协议。
感知层传感器芯片通信模组感知类智能设备/装置。 大数据架构