首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ACP互联网架构认证笔记-CSB云服务总线

CSB用于实现专有云和混合云场景下的跨系统、跨协议的服务互通。主要针对需要对系统间服务访问和对外开放进行管理和控制,包括安全授权、流量限制。 API 消费者,即代表 API 消费方应用在 CSB 上订购服务和管理订购的用户。 API 消费凭证,API 消费方应用需要使用 API 消费凭证(简称凭证)来调用 CSB 上开放的服务 API。API 消费者使用凭证来订购服务 API。凭证具体表现为一对 Access Key ID 和 Access Key Secret。在 API 调用时用来做签名信息计算,CSB 接收到 API 调用请求时对签名信息做验证。API 消费者可以创建多个 API 消费凭证,每个凭证可被一个或一组 API 消费方应用使用,通常可以把凭证作为 API 消费方应用的分组。 CSB 实例 每一组 CSB 服务总线节点(Broker)集群被视为一个独立的 CSB 实例,通常负责一个业务域内能力的对外开放,也可以发布来自外部的服务 API 给内部使用。 每个用户最多创建 5 个 CSB 实例,如有特殊需求,请联系 CSB 技术支持人员。 如果需要公网地址请将 SLB 绑定弹性公网 IP。 CSB 群组,一个 CSB 群组就是多个 CSB 实例的集合,这些 CSB 实例通过同一个 CSB 管理中心管理,使用同一套用户账号系统。 一个 CSB 群组内的 CSB 实例,对另一个 CSB 群组来说,就是一个“外部”实例。群组间的互通,例如典型的场景,企业自有数据中心内的 CSB 和阿里云上的 CSB 互通,需要各自的 CSB 群组管理员认可对方的账号并进行访问授权。 用户、实例、群组 在 CSB 中,用户是对等的,没有从属概念,只有授权关系。 每个用户都可以拥有属于自己的一个或多个 CSB 实例,具有这些 CSB 实例的管理员权限。可以控制其它用户对这些 CSB 实例的访问使用权限,即在该实例上发布服务、订阅服务,甚至实例管理的权限。每个用户和他所拥有的所有 CSB 实例,即构成该用户的 CSB 租户域。 用户在取得某个 CSB 实例的访问使用权限后,即可以在该实例上发布或者订阅服务。服务的发布者就是该服务的拥有者,可以审批授权其它用户对该服务的订阅申请。 云服务总线 CSB 有群组的概念,对应于相对隔离的管理环境。例如企业的内部数据中心和阿里云公共云的某个地域(region)即是不同的群组。相应地,也有 CSB 群组管理员 的角色,与 CSB 实例管理员不同,只有群组管理员可以应用户请求创建 CSB 实例。例如在阿里云公共云环境中,CSB 产品支持团队即是该群组的管理员。 级联式服务发布 级联发布,针对复杂多环境多归属打通场景,云服务总线提供级联发布管理机制,即跨 CSB 实例的服务发布,也就是在一个 CSB 实例上接入已有服务,而在另外一个 CSB 实例上开放出来,供订阅者消费。级联链路可以跨 2 个或更多 CSB 实例,这些 CSB 实例可以归属不同的用户,甚至位于不同的 CSB 群组内。级联发布的链路需要群组管理员定义,指明连通链路中各个 CSB 实例的先后链接关系。例如 CSB 实例 A 上接入的服务通过实例 B 作为中转,最终在 CSB 实例 C 上开放,就构成了一条经由实例 A 到 B 到 C 的 级联链路。

03
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何实现混合云场景下的接入层统一?

    01. 什么是混合云? 混合云是近年来云计算的主要模式和发展方向,私有云主要是面向企业用户,出于安全考虑,企业更愿意将数据存放在私有云中;但是同时又希望可以获得公有云的计算资源,混合云的诞生就是为了解决云连接的问题。 理论上,任何两个异构的云连接在一起都可称作混合云。它可以是私有云与公有云之间,公有云与公有云之间,甚至是私有云与私有云之间。但通常意义上,我们所指的混合云是指私有云与公有云的混合。 混合云能将不同云之间的资源进行混合和匹配,以获得最佳的效果,这种个性化的解决方案达到了既省钱又安全的目的。多家

    04

    微服务:从设计到部署【笔记】

    一、微服务简介 A.单体地狱 1.成功的应用有一个趋势,随着时间推移而变得越来越臃肿 2.复杂的单体应用本身就是持续部署的障碍 3.单体应用使得采用新框架和语言变得非常困难 B.微服务 — 解决复杂问题 1.思路是将应用程序分解成一套较小的互连服务。一个服务通常实现了一组不同的特性或功能。每个微服务都是一个迷你应用,包括了业务逻辑以及多个适配器 2.一些微服务会暴露一个供其他微服务或应用客户端消费的API,其他微服务可能实现了一个WebUI,在运行时,每个实例通常是一个云虚拟机(virtual machine,VM)或者一个Docker容器 3.他们之间的通信是由一个被称为API网关(API Gateway)的中介负责,API网关负责负载均衡、缓存、访问控制、API计量和监控 4.如果您想从微服务中受益,每一个服务都应该有自己的数据库模式,因为它能实现松耦合 C.微服务的优点 1.解决了复杂问题,把可能会变得庞大的单体应用程序分解成一套服务 2.这种架构使得每个服务都可以由一个团队独立专注开发 3.微服务架构模式可以实现每一个微服务独立部署 4.微服务架构模式使得每个服务能够独立扩展 D.微服务的缺点 1.微服务这个术语的重点过多偏向于服务的规模,有些开发者主张构建极细粒度的10至100LOC(代码行)服务,但小型服务只是一种手段,目标在于充分分解应用程序以方便应用敏捷开发和部署 2.微服务是一个分布式系统,使得整体变得复杂,开发者需要选择和实现基于消息或者RPC的进程间通信机制,模块间通过语言级方法/过程调用相互调用,这比单体应用要复杂得多 3.分区数据库架构,需要更新不同服务所用的数据库,通常不会选择分布式事务,不仅仅是因为CAP定理 4.测试微服务应用程序也很复杂,需要启动该服务及其所依赖的所有服务,或者至少为这些服务配置存根 5.实现了跨越多服务变更,在微服务中需要仔细规划和协调出现的变更至每个服务 6.部署基于微服务的应用程序也是非常复杂的 7.每个服务都有多个运行时实例,还有更多的移动部件需要配置、部署、扩展和监控,还需要实现服务发现机制,使得服务能够发现需要与之通信的任何其他服务的位置(主机和端口),需要开发人员能高度控制部署方式和高度自动化 二、使用API网关 A.客户端与微服务直接通信 1.问题:客户端的需求与每个微服务暴露的细粒度的API不匹配,公网下效率低下 2.问题:有可能使用了非web友好协议,一个服务可能使用了Thrift二进制rpc,而另一个可能使用AMQP消息协议,这些对浏览器还是防火墙都是不友好的,最好是在内部使用 3.缺点:难以重构微服务 B.使用API网关 1.API网关是一个服务器,是系统的单入口点,类似于面向对象设计模式中的门面(Facade)模式,封装了内部系统架构,并针对每个客户端提供一个定制API,还可用于认证、监控、负载均衡、缓存和静态响应处理 2.API网关负责请求路由、组合和协议转换,通常会调用多个微服务和聚合结果来处理一个请求,可以在Web协议(如HTTP和WebSocket)和用于内部的非Web友好协议之间进行转换 3.API还可以为每个客户端提供一个定制API,通常为客户端暴露一个粗粒度的API C.API网关的优点与缺点 1.主要好处是它封装了应用程序的内部结构,客户端只与网关通信,而不必调用特定的服务 2.缺点是它是另一个高度可用的组件,需要开发、部署和管理,API网关可能会成为开发瓶颈 3.重要的是更新API网关的过程应尽可能地放缓一些,否则,开发人员将被迫排除等待网关更新 D.实施API网关 1.在一个支持异步、非阻塞I/O平台上构建API网关是很有必要的。Node.js、Nginx Plus 2.API网关通过简单地把他们(请求)路由到适当的后端服务来处理一些请求。它通过调用多个后端服务并聚合结果来处理其他请求,API网关应该并发执行独立请求 3.使用传统的异步回调方式来编写API组合代码会很快使您陷入回调地狱,好的方式是使用响应式方法以声明式编写API网关代码 4.一个基于微服务的应用程序是一个分布式系统,必须使用一个进程间(inter-process)通信机制,有两种方案:一是使用基于消息的异步机制,如JMS、AMQP、ZeroMQ等;另一种采用了同步机制,如HTTP和Thrift;API网关需要支持各种通信机制 5.API网关需要知道与其通论的每个微服务的位置(IP地址和端口),需要使得系统的服务发现机制:服务端发现或客户端发现,API网关必须能够查询服务注册中心,该注册中心是所有微服务实例及其位置的数据库 6.当一个服务调用另一个响应缓慢或不可用的服务时,API网关不应该无期限地等待下游服务,如何处理故障问题取决于决定的方案和哪些服务发生故障 7.如果可以,API网关还可以返回缓存数据,通过返回默认数据或缓存数据,确保系统发生故障

    02

    1. 考虑使用静态工厂方法替代构造方法

    一个类允许客户端获取其实例的传统方式是提供一个公共构造方法。其实还有另一种技术应该成为每个程序员工具箱的一部分。一个类可以提供一个公共静态工厂方法,它只是一个返回类实例的静态方法。下面是一个Boolean简单的例子(boolean基本类型的包装类)。此方法将boolean基本类型转换为Boolean对象引用 : public static Boolean valuesOf(boolean b) { return b ?Boolean.TRUE : Boolean.FALSE; } 注意,静态工厂方法与设计模式中的工厂方法模式不同。 类可以为其客户端提供静态工厂方法,而不是公共构造方法。提供静态工厂方法而不是公共构造方法有优点也有缺点。 静态工厂方法的一个优点是,不像构造方法,它们是有名字的。如果构造方法的参数本身并不描述被返回的对象,则具有精心选择名称的静态工厂更易于使用,并且生成的客户端代码更易于阅读。例如,返回一个可能的素数的BigInteger的构造方法BigInteger(int,int,Random)可以更好地表示为名为BigInteger.probablePrime的静态工厂方法(这个方法是在Java1.4中添加的。) 一个类只能有一个给定签名的构造方法。程序员知道通过提高两个构造方法来解决这个限制,这两个构造方法的参数列表只有它们的参数类型的顺序不同。这是一个非常糟糕的注意。这样的API用户将永远不会记得那个构造方法是哪个,最终会错误地调用。阅读使用这些构造方法的代码的人只有在参考类文档的情况下才知道代码的作用。 因为他们有名字,所以静态工厂方法不会受到上面讨论中的限制。在类中似乎需要具有相同签名的多个构造方法的情况下,用静态工厂方法替换构造方法,并仔细选择名称来突出它们的差异。 静态工厂方法的第二个优点是,与构造方法不同,它们不需要每次调用时都创建一个新对象。 这允许不可变的类 (条目 17) 使用预先构建的实例,或者在构造时缓存实例,并反复分配它们以避免创建不必要的重复对象。Boolean.valueof(boolean) 方法说明了这种方法:它从不创建对象。这种技术类似于 Flyweight 模式[Gamma95]。如果经常请求等价对象,那么它可以极大地提高性能,特别是如果在创建它们非常昂贵的情况下。 静态工厂方法从重复调用返回相同对象的能力允许类保持在任何时候存在的实例的严格控制。这样做的类被称为实例控制( instance-controlled)。编写实例控制类的原因有很多。实例控制允许一个类来保证它是一个单例 (3) 项或不可实例化的 (条目 4)。同时,它允许一个不可变的值类 (条目 17) 保证不存在两个相同的实例:当且仅当 a == b 时 a.equals(b)。这是享元模式的基础[Gamma95]。Enum 类型 (条目 34) 提供了这个保证。 静态工厂方法的第三个优点是,与构造方法不同,它们可以返回其返回类型的任何子类型的对象。 这为你在选择返回对象的类时提供了很大的灵活性。

    03

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券