课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
分布式和集群是程序员在学习软件编程开发架构的时候需要重点掌握的编程技术之一,下面我们就一起来了解一下具体情况吧,希望通过对本文的阅读,大家对分布式编程架构有更多的了解。
分布式就是把计算机通过网络连接起来协同工作。由多台计算机负责完成同一件事。
SOA全称Service-OrientedArchitecture,面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件(服务)进行分布式部署、组合、和使用。一个组件(服务)以独立的形式存在于操作系统的进程中。
站在功能的角度上,把业务逻辑抽象成可复用、可组装的服务,通过服务编排、组装实现业务快速再生,把原先的固有业务转变为通用业务服务,实现业务逻辑的快速复用。
特点:分布式、可复用、扩展灵活、松耦合。
当垂直应用越来越多时,应用之间的交互是不可避免的,将核心业务抽取出来,做成独立的服务组件。逐渐形成稳定的服务中心,使得前端应用能够更加快速响应市场多变的需求。
优点:
把公共功能抽取出来形成一个个可复用的服务。提高开发效率。
可以对不同的服务根据实际情况进行不同力度的集群化部署,解决系统压力。比如某个服务访问量大,就集群化力度大,某个服务访问量较小,就集群化力度比较小,实现比较灵活的性能扩展。
基于ESB总线或者Dubbo等框架,减小系统间的耦合。
缺点:
抽取服务的力度较大。
服务提供方与服务调用方的接口耦合度较高。
分布式架构要解决的问题:
任务分解
如何把本身单体的系统架构拆分成一个个独立部署的节点。可以通过领域模型进行拆分。
节点通信
各个节点之间进行通信,才能保证系统正常运行。可以通过RPC框架(Dubbo)或者消息中间件(ActiveMQ等)进行节点通信。
…
分布式和集群的关系
分布式就是把一个业务拆分成多个子系统。部署在不同的服务器上。各个子系统之间通过网络进行通信,协调完成业务。对外呈现出的是一个整体。
集群是把同一子系统部署多个服务器上,通过负载均衡等方案对系统进行访问。达到系统性能扩展和实现高可用。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。