squbs概述

介绍

squbs (发音 “skewbs”) 是一个软件容器和一套组件, 可在大规模的、托管的云环境中实现Akka 和Akka HTTP 应用程序/服务的标准化和可操作性。它标准化了阿卡应用程序在不同环境中的部署方式, 以及它们如何连接到大型网络规模组织的运营环境。

squbs组件

1.Unicomplex:微容器, 用于引导和标准化Akka应用程序的部署以及它们的配置方式, 允许非开发团队了解配置并根据需要调整应用程序的配置( 部分是在运行时)。此外, Unicomplex 还鼓励不同模块的共存, 称为cubes,包括与操作工具, 以灵活、松散耦合的方式共存, 这将不会招致任何代码更改, 以便引入新的运维工具或退出/更改某些运维工具。例如, 我们有一个混合云环境 (私有云和公有云需要不同的操作工具), 相同的代码库部署时允许使用特定于环境的工具。
2.TestKit: 用来帮助测试squbs应用,甚至可以与Akka应用一起测试。它提供了单元测试以及一个小型的、可以作为CI一部分运行的负载测试设施。
3.ZKCluster: 一个基于ZooKeeper、可感知数据中心的集群库,允许集群应用或者跨数据中心服务拥有跨数据中心的可用性。可用于需要集群内通信的应用。
4.HttpClient: 一种可操作的、简化的客户端, 支持环境和端点解析, 以适应不同的运营环境 (QA、生产) 以及组织要求 (拓扑、直连)。
5.Pattern:为用户提供的一套编程模式和领域特定语言.
6.业务流程 DSL 允许开发人员以极其简洁的方式描述其业务流程序列, 同时异步运行整个业务流程, 从而大大简化了代码并减少了应用程序的延迟。
7.异步系统严重依赖于超时, 而固定超时是不正确的。TimeoutPolicy 允许用户设置策略 (如2.5 sigma) ,让系统本身适应它们的操作条件。
8.Validation:提供了一种用于数据验证的Akka HTTP指令(通过使用 Accord Validation Library)。
9.PersistentBuffer: 提供了一种高性能的Akka Streams 流缓冲组件, 它将其内容持久化到内存映射文件中, 并在失败并重启后恢复内容。
10.ActorRegistry: 一种核心查找工具。允许松耦合模块的actor找到彼此,甚至不同服务模块的actor。
11.ActorMonitor: 一个附加操作模块, 它使用 JMX 报告系统中actor的统计和行为。这些统计数据可以通过任何 JMX 工具看到。
12.Pipeline: 允许对请求/响应筛选器进行排序和插入的基础结构。例如, 用于安全性、速率限制、日志记录等。每个组件几乎不依赖于彼此。它们是真正的松散耦合。开发人员和组织可以自由选择其环境所需的组件。
13.Console:一个允许通过简单的 web页面或服务接口(返回pretty-printed 格式JSON)访问系统和应用程序统计信息的模块。

详细内容请看 squbs官网翻译

Squbs 是一个起源于 eBay 和 PayPal 的开源项目。 Squbs 是一个软件容器,一套能实现 Akka and Spray 应用/服务在大规模管理、云服务中标准化和运作的组件。 squbs Components Unicomplex: The micro-container that bootstraps and standardizes the deployment of Akka/Spray applications and how they are configured, allowing teams other than PD to understand the configuration and tweak the configuration of applications, partly at runtime, as needed. In addition, the Unicomplex encourages coexistence of different modules, called cubes, and/or operational tooling in a flexible, loosely-coupled fashion that will not incur any code change in order to include new ops tooling or drop out/change some ops tooling. For instance, in cases where we have mixed cloud environments such as private and public cloud needing different operational tools, the same codebase will work with both allowing deployment-time addition of environment-specific tooling. TestKit: Used to help test applications written for squbs, or even Akka applications altogether. It provides unit test and small scale load testing facilities that can be run as part of CI. ZKCluster: A ZooKeeper-based, datacenter-aware clustering library allowing clustered applications or services to span datacenter and hold the availability characteristics across data centers. This is needed for applications that need intra-cluster communications. HttpClient: An operationalized, simplified client that supports both environment and endpoint resolution to fit into different operational environments (QA, Prod) as well as organizational requirements (Topo, direct). Pattern: A set of programming patterns and DSLs provided to users. Orchestration DSL allowing developers to describe their orchestration sequence in an extremely concise manner while running the whole orchestration asynchronously, thus largely simplifying code and reduces latency for the application. Asynchronous systems depend heavily on timeouts and fixed timeouts are never right. TimeoutPolicy allows users to set policy (like 2.5 sigma) instead of fixed timeout values and takes care of the heuristics by itself allowing systems to adapt to their operating conditions. Spray doesn't have friendly API for Java, the spray.japi package provides a few of Helpers and Factories to help Java developers to construct spray entities easily. Validation provides a Spray directive for data validation by using Accord Validation Library. PersistentBuffer provides a high-performance Akka Streams flow buffer component that persists its content to a memory-mapped file and recovers the content after failure and restart. ActorRegistry: A core lookup facility allowing actors of loosely-coupled modules to find each others, or even to model different services as actors. ActorMonitor: An add-on operational module that uses JMX to report the stats and behavior of actors in the system. These stats can be seen by any JMX tooling Pipeline: An infrastructure allowing sequencing and plugging in of request/response filters. These are used, for instance, for security, rate limiting, logging, etc. Each of the components have virtually no dependency on each others. They are truly loosely coupled. Developers and organizations are free to pick and choose the components needed for their environment. Console: A drop-in module allowing web access to system and application stats through a simple web and service interface returning pretty-printed JSON. 标签:Squbs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值