Skip to content

Latest commit

 

History

History
29 lines (27 loc) · 2.06 KB

chapter5.md

File metadata and controls

29 lines (27 loc) · 2.06 KB

5 Web应用开发

负载均衡

  • 应用层负载均衡
    • HTTP重定向。
    • 反向代理服务器。
  • 传输层负载均衡技术
    • DNS域名解析负载均衡。
    • 基于NAT的负载均衡。

REST(表述性状态传递)

  • REST(Representational State Transfer,表述性状态转移)是一种只使用HTTP和XML进行基于Web通信的技术,可以降低开发的复杂性,提供系统的可伸缩性。
  • REST的5个原则:
    • (1)网络上所有事物都被抽象为资源。
    • (2)每个资源对应一个唯一的资源标识。
    • (3)通过通用的连接件接口对资源进行操作。
    • (4)对资源的各种操作不会改变资源标识。
    • (5)所有的操作都是无状态的。

微服务

  • 微服务的优势:
    • (1)解决了复杂性问题。它把庞大的单一模块应用分解为一系列的服务,同时保持总体功能不变。
    • (2)让每个服务能够独立开发,开发者能够自由选择可行的技术,让服务来决定API约定。
    • (3)每个微服务都能独立配置,开发者不必协调对于本地服务配置上的变化,这种变化一旦测试完成就被配置了。
    • (4)让每个服务都可以独立调整,你可以给每个服务配置正好满足容量和可用性限制的实例数。
  • 微服务架构所带来的挑战
    • (1)并非所有的系统都能转成微服务。例如一些数据库层的底层操作是不推荐服务化的。
    • (2)部署较以往的架构更加复杂:系统由众多微服务搭建,每个微服务需要单独部署,从而增加部署的复杂度,容器技术能够解决这一问题。
    • (3)性能问题:由于微服务注重独立性,互相通信时只能通过标准接口,可能产生延迟或调用出错。例如一个服务需要访问另一个服务的数据,只能通过服务间接口来进行数据传输,如果是频繁访问,则可能带来较大的延迟。
    • (4)数据一致性问题:作为分布式部署的微服务,在保持数据一致性方面需要比传统架构更加困难。