并发译文 ’ 目录归档

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

原文链接  译者:carvendy

请求路由

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

服务模型和服务版本

阅读全文

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

原文链接  译者:carvendy

设计理念

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

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

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

原文链接  译者:carvendy

综述

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

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

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

阅读全文

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

原文链接   译者:carvendy

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

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

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

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

阅读全文

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

原文链接 译者:flystarfly

介绍

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

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

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

原文链接 译者:flystarfly

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

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

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

《Hibernate快速开始》Query /Criteria

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

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

阅读全文

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框架。就设计层面来说主要是围绕如何高效的去构建和管理任务队列以及工作线程来展开的。性能测试的数据显示良好的并行计算程序将会提升大部分应用,同时也暗示了一些潜在的可以提升的空间。

阅读全文

《Spring 5 官方文档》39. 创建可扩展的XML

原文链接 译者: flystarfly

39. 创作可扩展的XML

39.1 介绍

从2.0版开始,Spring提供了一种基于模式的扩展机制用于定义和配置beans的Spring XML基本格式。本节将尽力详细地说明如何编写自己的自定义XML bean解析器,以及如何将这样的解析器集成到Spring IoC容器中。

阅读全文

《Maven官方文档》配置默认Mojo扩展

原文链接 译者:carvendy

配置默认Mojo扩展

在这么多例子中,你需要配置一个插件,这里有两个选项生效:插件级别配置配置和执行级别配置。插件级别配置是很多公共方法配置的插件,将用于命令行,是定义作为默认的生命周期,或者使用一个公共配置在所有调用。事实上,为了指引从命令行调用,插件级别配置已经是历史上唯一的选择。

在另一方面,例子中一些先进的构建进程需要一些mojos的执行同样的mojos,也有不同一些来自于单个插件使用了不同的配置,执行级别配置是很常用的。这些例子通常涉及的插件是介绍作为一部分的标准构建进程,但是这里目前不是在默认生命周期的特别打包。在这些用例,通常配置分享不同执行,是依然指定在插件级别的配置。 阅读全文

《Maven官方文档》Maven 文档风格指南

原文链接 译者:carvendy

Maven 文档风格指南

哪里来的风格?

文档风格指南被创建与在我们很多的文档一致性和还应用最佳实践的文档。标准已经开始和将会随着时间不断扩大基于这个建议到Maven 开发邮箱列表。社区就默认应该写他们自己的文档。

不是每一个规则都只指南里,一个动机作为它存在的原因。引用扩展源码是被鼓励的。 阅读全文

《Maven官方文档》HttpClient HTTP提供者的先进配置

原文链接   译者:carvendy

HttpClient HTTP提供者的先进配置

  • HttpClient HTTP提供者的先进配置
    • 注意Maven版本和可用性
      • Maven 2.2.0
      • Maven 2.2.1
      • Maven 3.0.4
    • 介绍
    • 基础
    • 配置 GET,HEAD,PUT,或者全部。
    • 你的HTTP头的控制
    • 微调HttpClient参数
      • 非字符串值
      • 例子:使用先发制人的认证
      • 忽略Cookies
    • 支持通常提供者配置标准
      • HTTP头
      • 连接超时
      • 读超时
    • 资源

阅读全文

JEP 220:模块化运行时镜像

原文链接  译者:carvendy

JEP 220:模块化运行时镜像

作者  Mark Reinhold
创建  2014/10/23 15:05
更新  2017/05/19 01:58

类型  特性
状态  集成
域   SE
JSR   376
讨论  拼图的开发在openjdk.java.net 努力  XL
持续时间  XL
优先  l
检验人 Alan Bateman, Alex Buckley, Chris Hegarty, Mandy Chung, Paul Sandoz

发行  9
版本  8061971
块   JEP 200:模块化JDK
JEP 261:模块系统
涉及  JEP 162:模块化思想准备
JEP 282:jlink:Java连接器
JEP 201:模块化源码

概述

重构JDK和JER运行镜像到容纳这些模块和提高行为,保护和可维护性。定义新的URI方案来命名模块,类和资源存储在一个运行时镜像,而没有揭示内部结构或者镜像格式。修改存在的规范作为需要容纳的改变。 阅读全文

《Nginx官方文档》使用nginx作为HTTP负载均衡

   介绍

       跨多个应用程序实例进行负载均衡是一种常用的技术,它被用于优化资源的利用率, 最大化吞吐量,减少延迟并确保容错配置。
       可以使用nginx作为一个非常有效的HTTP负载均衡器,将流量分配给多台应用服务器,并通过nginx提高Web应用程序的性能,可扩展性和高可靠性。

阅读全文

《Nginx官方文档》nginx windows版本

原文链接

nginx的Windows版本使用原生的Win32 API(不是Cygwin仿真环境)。当前仅使用 select () 作为连接进程方法, 因此不要期望高性能和可伸缩性。该版本和其他已知问题的nginx windows版本一直被认为是beta 版本。但是这次, 除了XSLT 过滤、图像过滤、GeoIP 模块和嵌入式Perl 语言几个功能之外, nginx windows版本提供了与nginx UNIX 版本几乎相同的功能。
阅读全文

return top