Week04 作业
作业一:
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
我工作中常用的技术如下:
反向代理
服务器端的代理服务器接收用户的请求后再转发给真实服务器,再返回给代理服务器最后再返回给用户,在这个过程中,用户并不知道真实服务器的存在。内部服务器不对外部提供服务,不会暴露,对外提供统一个出口IP。具有很好的伸缩性和可扩展性。
集群
我们通常会通过增加服务器数量横向扩展将其构成一个集群,将同一个工程部署在集群中不同服务器上。若集群中一台服务器宕机或失效,还会有集群中正常的服务器自动补上,也可将集群中的某台服务器进行离线维护再上线,这个过程也不会影响整个集群的运行。
消息队列
3个核心:解耦、异步、削峰
生产者将任务作为消息发送到MQ,后面消费者通过自行订阅,接收或主动拉到消息进行处理,生产者不需要等待后面处理,也无需关心是谁来消费了我的任务,很好的实现了业务场景解耦以及业务场景的异步,同时MQ可提供一些削峰限流等流量控制功能,在流量过的情况下控制消费的速度及应对消息的积压,也可以通过增加MQ的服务器来增加消息的处理能力。
微服务架构
将一个复杂的系统或业务拆分成一个服务,将复杂的问题简单化、组件化。每个服务都是独立部署的,修改、部署都对其他服务没有影响。提供轻量级、松耦合、独立部署、无关语言的服务。这种微服务的架构易扩展,可以快速交付。但同时在分布式的复杂性,这么多微服务的管理、监控、维护上可能还面临着很多问题。
评论