Archive for the ‘ 并发译文 ’ Category

《Python3.6官方文档》– 第十一章

第二部分涵盖了更高阶的模块,支持更专业的编程需求,这些模块很少出现在小的脚本中。

格式化输出

reprlib 提供一系列repr() 对很大或深度层叠的容器进行定制化的压缩展示。

import reprlib

reprlib.repr(set('supercalifragilisticexpialidocious'))

pprint 提供更成熟的控制,将内建对象和用户定义对象更易读地打印出来,当结果长于一行时,”pretty printer”添加行数和缩进来将数据结构更清楚地展现出来。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Python3.6官方文档》– 第十一章

《Hibernate快速开始》Query /HQL and JPQL (上)

Hibernate查询语言(HQL)和Java持久性查询语言(JPQL)都是与SQL类似的面向对象模型的查询语言。JPQL是受HQL影响很大的子集。所有的JPQL查询都是有效的HQL查询,但反过来并不正确。

      HQL和JPQL都是非类型安全的方式来执行查询操作。Criteria 查询提供了一种查询类型安全的方法。有关更多信息,请参阅标准

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Hibernate快速开始》Query /HQL and JPQL (上)

《Apache RocketMQ用户指南》之有序的消息示例

有序消息

原文链接      译者:小村长

RocketMQ使用FIFO队列提供有序消息.

以下示例演示发送/接收全局和分区有序消息。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Apache RocketMQ用户指南》之有序的消息示例

《Istio官方文档》配置请求路由

原文链接 译者:suzhuo

配置请求路由

这里将向你展示如何根据权重和HTTP请求头去配置动态路由。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Istio官方文档》配置请求路由

《Istio官方文档》—— 错误注入

原文链接  译者:carvendy

  当使者边车/代理提供了一大堆故障恢复机制让服务在Istio上运行,这依然有必要去测试端对端的故障恢复作为了应用的整体功能。错误配置的故障策略(例如:矛盾的或者服务响应的超时限制)会让在程序中的服务界定为不可用,影响到我们希望的结果。 Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Istio官方文档》—— 错误注入

《Istio官方文档》—— 故障处理

原文链接  译者:carvendy

故障处理

   使者在故障恢复中,提供了一个拆箱即用的集合,可以更方便地在服务中移除应用。特性包括:

  1. 超时
  2. 限定的重试,在重试之间有超时预计与数值的波动性。
  3. 有限的并发连接数和请求的上游服务。
  4. 对于负载均衡池里的成员,进行动态(周期性的)健康检查。
  5. 细粒度的断路器(通过健康检查)—— 在负载均衡池里每个实例都需要通过。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Istio官方文档》—— 故障处理

《Istio官方文档》—— 服务发现与负载均衡

原文链接  译者:carvendy

服务发现与负载均衡

  本文讲述Istio在服务网格中,如何对交互的服务进行负载均衡。 Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Istio官方文档》—— 服务发现与负载均衡

《Istio官方文档》—— 请求路由

原文链接  译者:carvendy

请求路由

  本页描述,在Istio服务网格中,服务间的请求是如何被路由的。

服务模型和服务版本

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Istio官方文档》—— 请求路由

《Istio官方文档》什么是Istio——设计理念

原文链接  译者:carvendy

设计理念

  这页概述了Istio的核心设计理念。

  Istio的架构里有一些关键的设计理念,是在服务在一定规模上和高性能的标准上,系统必备的能力。 Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Istio官方文档》什么是Istio——设计理念

《Istio官方文档》什么是Istio——综述

原文链接  译者:carvendy

综述

  本文介绍Istio:开源的连接,管理和安全的微服务。Istio提供了一种简单方式,让发布的服务创建连接并实现负载均衡,服务间的认证,监控,还有更多,而在服务中不需要改变任何代码。接入Istio,支持服务由特定的代理发布,在服务之间会拦截网络通信并贯穿你的环境,使用Istio可以配置和管理整个面的够功能特性。

  Istio当前只支持服务发布到Kubernetes,而其他的环境将会在未来的版本中才支持。

  为了了解更更多关于Istio组件的细节上和概念上的东西,可以看看概念指南。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Istio官方文档》什么是Istio——综述

什么是服务网格?为什么你需要它?

原文链接   译者:carvendy

什么是服务网格?为什么你需要它?

服务网格是专注于基础设施层,让服务可以更安全、更快、更可靠地通信。如果构建云应用,你就需要服务网格。

  在过去一年,服务网格已经呈现出,并在云原生栈中起着决定性的作用。像一些高流量的公司,比如说Paypal,Lyft,Ticketmaster, 还有Credit Karma,在今年一月份就已经在自己的产品中使用了服务网格。Linkerd,一个开源的为云原生应用而生的服务网格,成为了云原生计算设施的官方项目。精确地来说,什么是服务网格呢?为什么和它有关系呢?

  在本文中,通过过去十年的应用架构,给服务网格定义和它的组织体系。从有关系的但是不同的API网关、边缘代理、服务总线的组成,来区分服务网格。描述哪里是服务网格顶层,还有期待它是由什么组成的,并使得云计算基础设施进化的?

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 什么是服务网格?为什么你需要它?

《译文:RabbitMQ 消费者确认和发布者确认》

原文链接 译者:flystarfly

介绍

使用消息代理(如RabbitMQ)的系统按定义分发。 由于发送的协议方法(消息)不能保证到达对方或被成功处理,所以发布者和消费者都需要一个交付和处理确认的机制。 RabbitMQ支持的一些消息协议提供了这样的功能。 本指南涵盖AMQP 0-9-1中的特性,但其他协议(STOMP,MQTT等)中的思路大致相同。

从消费者(consumers)投递rabbitmq代理(broker)的处理确认被认为是AMQP 0-9-1协议中的确认; rabbitmq代理(broker)对发布者(publishers)的确认被称作发布者确认(publisher confirms)
Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《译文:RabbitMQ 消费者确认和发布者确认》

《译文:RabbitMQ关于吞吐量,延迟和带宽的一些理论》

原文链接 译者:flystarfly

该文阅读自RabbitMQ官方网站,分享好文给大家

你在Rabbit有一个队列,然后一些消费者从这个队列中消费。如果你根本没有设置QoS(basic.qos),那么Rabbit会把所有的队列消息都按照网络和客户端允许的速度推送给客户端。消费者将会飞速增加它们的内存占用,因为它们将所有消息都缓存在自己的RAM中。如果您询问Rabbit,队列可能会显示为空,但会有大量在客户端中,正准备由客户端应用程序处理的消息未被确认。如果您添加新的消费者,则队列中不会有消息发送给新的消费者。即使有其他消费者可用于更快地处理这样的消息,它们也只是在现有的客户端缓存,并且可能在那里很长一段时间。这是相当次优的。

因此,默认的QoS预取设置为客户提供了无限的缓冲区,这可能导致不良的行为和性能。但是,怎样的QoS预取缓冲区大小才是您应该设置的?设置的目的是让消费者保持工作饱和状态,同时尽量减少客户端的缓冲区大小,以便更多的消息留在Rabbit的队列中,来可供新消费者使用,或在消费者空闲时发送给消费者。
Read more

《Hibernate快速开始》Query /Criteria

Criteria查询为HQL,JPQL和native SQL 查询提供了一种类型安全的替代方法。

Hibernate 提供了一个遗留下来比较旧的org.hibernate.CriteriaAPI,并且它不被推荐使用。没有功能开发将针对这些API。最终,特定于Hibernate的criteria 功能将被移植到JPA的扩展javax.persistence.criteria.CriteriaQuery。有关org.hibernate.CriteriaAPI的详细信息,请参阅传统Hibernate条件查询

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Hibernate快速开始》Query /Criteria

Java Fork/Join框架

原文链接:A Java Fork/Join Framework(PDF) – Doug Lea

译序

Doug Lea 大神关于Java 7引入的他写的Fork/Join框架的论文。

响应式编程Reactive Programming / RP)作为一种范式在整个业界正在逐步受到认可和落地,是对过往系统的业务需求理解梳理之后对系统技术设计/架构模式的提升总结。Java作为一个成熟平台,对于趋势一向有些稳健的接纳和跟进能力,有着令人惊叹的生命活力:

  1. Java 7提供了ForkJoinPool,支持了Java 8提供的Stream
  2. 另外Java 8还提供了Lamda(有效地表达和使用RP需要FP的语言构件和理念)。
  3. 有了前面的这些稳健但不失时机的准备,在Java 9中提供了面向RP的官方Flow API,实际上是直接把Reactive Streams的接口加在Java标准库中,即Reactive Streams规范转正了,Reactive StreamsRP的基础核心组件。Flow API标志着RP由集市式的自由探索阶段 向 教堂式的统一使用的转变。

通过上面这些说明,可以看到ForkJoinPool的基础重要性。

对了,另外提一下Java 9Flow API@author也是 Doug Lee 哦~

PS:基于Alex/萧欢 翻译、方腾飞 校对的译文稿:Java Fork Join 框架,补译『结论』之后3节,调整了格式和一些用词,整理成完整的译文。译文源码在GitHub的这个仓库中,可以提交Issue/Fork后提交代码来建议/指正。

0. 摘要

这篇论文描述了Fork/Join框架的设计、实现以及性能,这个框架通过(递归的)把问题划分为子任务,然后并行的执行这些子任务,等所有的子任务都结束的时候,再合并最终结果的这种方式来支持并行计算编程。总体的设计参考了为Cilk设计的work-stealing框架。就设计层面来说主要是围绕如何高效的去构建和管理任务队列以及工作线程来展开的。性能测试的数据显示良好的并行计算程序将会提升大部分应用,同时也暗示了一些潜在的可以提升的空间。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Java Fork/Join框架

return top