分布式web服务架构

分布式web服务架构


  说到分布式web服务确实是一个很大的话题,大家可能首先会想到应用服务集群与数据服务集群。
一旦谈到服务集群,大家会想到一系列相关技术:负载均衡技术、主备技术、缓存同步技术等。
这里主要谈论一下应用服务器的 面向web服务交互方式。


  web service是这个领取不可能绕过的话题, 在传统企业系统集成一提到web service大家就回想到soa(面向服务架构)。
服务化以后, 部分业务逻辑被抽离出来并以服务提供方(服务端)方式对服务调用方(客户端)提供服务。
SOA为理念的架构,使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。


常用方式有这些:
RPC(Remote Procedure Call): 面向方法的远程过程调用。
SOAP(Simple Object Access Protocol): 面向简单对象访问的服务架构。
REST(Representational state transfer): 面向资源的服务架构。
EBS(Enterprise Service Bus): 面向消息的企业服务总线架构。


REST与RPC的互联网常用的两种交互方式,这里简单做一下比较:
1. REST支持抽象的工具是资源,RPC支持抽象的工具是过程。
2. RPC是以动词为中心的, REST是以名词为中心的
3. REST支持数据流和管道,RPC不支持数据流和管道。
4. RPC中没有统一接口的概念,接口设计风格可以完全不同,
RPC也不支持操作语义对于中间组件的可见性,带来客户端与服务器端的紧耦合;
REST使用了平台中立的消息,支持统一接口的REST风格,可以达到最小的耦合度。


比较了三种架构风格之间的差别之后,从面向实用的角度来看,REST架构风格可以为Web开发者带来三方面的利益:
1.简单性
可以充分利用大量HTTP服务器端和客户端开发库、Web功能测试/性能测试工具、HTTP缓存、HTTP代理服务器、防火墙。
这些开发库和基础设施早已成为了常规通用组件了,解决了大多数工程方面的问题。
2.扩展性
充分利用好通信链各个位置的HTTP缓存组件,可以带来更好的可扩展性。
3.统一接口
文本协议的统一接口带来了最大限度的松耦合,允许服务器端和客户端程序在很大范围内相对独立地进化。


主要因为这些方面的综合表现,这使得REST(restful)在互联网架构中广泛被采用,占据着统治地位 ,:
扩展性
松耦合
客户端实现语言无关
性能
安全性


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java分布式微服务架构是一种将大型应用程序拆分成多个小型、独立的服务的架构模式。每个服务都可以独立开发、部署和扩展,通过网络进行通信。下面是Java分布式微服务架构搭建的一般步骤: 1. 服务拆分:将大型应用程序拆分成多个小型服务,每个服务负责一个特定的业务功能。拆分时需要考虑服务的边界和职责划分。 2. 服务注册与发现:使用服务注册与发现机制,例如ZooKeeper、Consul或Eureka,来管理和发现各个微服务的实例。 3. 服务间通信:微服务之间通过轻量级的通信协议进行通信,常见的方式有RESTful API、消息队列和RPC(远程过程调用)等。 4. 负载均衡:使用负载均衡器,例如Nginx或Ribbon,来分发请求到多个服务实例,提高系统的可用性和性能。 5. 高可用性和容错:通过使用容错机制,例如熔断器(Circuit Breaker)和限流器(Rate Limiter),来保护系统免受故障的影响。 6. 数据一致性:在分布式环境下,保证数据的一致性是一个挑战。可以使用分布式事务管理器,例如Atomikos或Seata,来实现分布式事务。 7. 监控和日志:使用监控工具和日志系统,例如Prometheus、Grafana和ELK(Elasticsearch、Logstash和Kibana),来监控和分析微服务的运行情况。 8. 安全性:在分布式微服务架构中,安全性是一个重要的考虑因素。可以使用认证和授权机制,例如OAuth2和JWT(JSON Web Token),来保护微服务的访问权限。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值