并发译文 ’ 目录归档

《Docker 教程》(二):Dockerfile

Docker 教程(二):Dockerfile

你好,我是看山。

本文源自并发编程网的翻译邀请,翻译的是 Jakob Jenkov 的 《Docker 教程》 中的第二篇。

阅读全文

Docker 教程(一):Docker 是什么

本文源自并发编程网的翻译邀请,翻译的是 Jakob Jenkov 的 《Docker 教程》 中的第一篇,本文大概介绍了 Docker 是什么和有什么用。可能在工作中,会有专业运维同学管理服务器镜像或其他内容,但是如果不了解这些概念,很多时候我们不会全面了解到系统的全貌。

Docker 是一种将应用程序和服务器配置打包成 Docker 镜像的方法,使用了一种称为 Dockerfile 的简单打包规范。Docker 镜像可以启动多个多个实例,这些运行的实例被称为 Docker 容器。这个系列的内容主要包括讲解什么是 Docker 镜像、什么是容器、什么是 Dockerfile,以及如何创建、运行和发布等。

阅读全文

面向对象和面向函数之争

大卫说:“服务的调用最终是通过函数实现的”。“但函数要绑定数据以确定并行的粒度”:皮特争辩道。早上大卫和皮特在花园里争论着,我们所开发的软件的结构究竟是面向对象还是面向函数?这个问题猛然听来好像非常矛盾。软件的结构似乎只能在面向对象和面向函数之间进行选择。但其实不然,面向对象和面向函数不过是我们在开发过程中的一种思考方式。当你从用户的角度来看开发的过程,就是面向对象的。因为用户最终操作的是一个很小的数据集合。这个集合可以抽象的叫做对象。当你换个角度从服务器这边去看时。服务器的数据被各种用户函数所操作。所有函数所拥有的数据的子集的合,构成了服务器的全部数据。并且每个函数的范围都不固定。可能操作很小的数据,也可能操作很大的数据。小到用户状态的更改。大到对几年的数据进行统计分析。哪么从服务器的角度来看就叫面向函数的编程。

阅读全文
  • 5,019 人阅读
  • 面向对象和面向函数之争已关闭评论

Java Volatile关键字

原文地址 作者:Jakob Jenkov 译者:小龙虾

Java的volatile关键字用于标记一个变量“应当存储在主存”。更确切地说,每次读取volatile变量,都应该从主存读取,而不是从CPU缓存读取。每次写入一个volatile变量,应该写到主存中,而不是仅仅写到CPU缓存。

实际上,从Java 5开始,volatile关键字除了保证volatile变量从主存读写外,还提供了更多的保障。我将在后面的章节中进行说明。

阅读全文

Apache Log4j 2 用户指南

Apache Log4j 2是Log4j 1.x的升级版本,相比前任它有着显著的提升。它不仅具备Logback所包含的改进,同时还修复了Logback框架的固有bug。

不定期对 Apache Log4j 2 v.2.11.2 User’s Guide 进行翻译,水平有限,欢迎指正。

阅读全文

《Python3.6官方文档》– 第12章 虚拟环境和包

原文链接   译者:Carvendy

12. 虚拟环境和包

12.1 介绍

  Python应用程序总会使用一些包和模块,它们离不开标准库。应用程序需要指定标准库的版本,因为应用程序可能需要避免一个已经修复的bug,或者是应用程序重写了具体版本标准库的接口的实现。

  这意味着也许不可能需要给每一个应用程序安装它所需要的的版本。如果应用A需要1.0的部分模块,而应用B需要版本2.0的,这样是会产生冲突的,并且只安装1.0或者2.0版本将会使得另外一个应用无法正常运行。

  解决这个问题的方法就创建虚拟环境,它是一个自包含目录树,里面安装有Python各个版本,一个数字一个包版本地区分开来。

  不同的应用程序可以使用不同的环境变量。为了解决前面的冲突,应用程序A可以有自己的虚拟环境并使用版本1.0,同时应用程序B可以使用虚拟环境的版本2.0。如果应用程序B需要升级到版本3.0,也一样不会对应用程序的环境影响。

阅读全文

《Python3.6官方文档》– 第13章 接下来

原文连接

13 章 接下来

   读到个别的指南,也许你已经迫不及待想使用python了——你渴望使用Python来解决现实发生的问题。你应该从何学习得更多呢?

  指南是Python文档的一部分。其他的文档如下: 阅读全文

《Python3.6官方文档》– 第二章 使用python解释器

2.1. 调用解释器

Python解释器一般安装在 /usr/local/bin/python3.6 目录下,将 /usr/local/bin 目录加入到Unix Shell脚本的命令搜索目录下,这样便可以通过输入以下shell命令已启动它[1]

python3.7

既然解释器的存放目录是安装时可选的,那么其他位置也是可以的;请与python的安装用户或系统管理员确认。(/usr/local/python是常用可选目录)

在Windows系统上,python一般安装到 C:\Python36 目录下,你同样可以再安装时选择其他目录。将次目录添加到Path环境变量,你可以通过在DOS命令窗体输入以下命令:

阅读全文

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

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

格式化输出

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

import reprlib

reprlib.repr(set('supercalifragilisticexpialidocious'))

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

阅读全文

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

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

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

阅读全文

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

有序消息

原文链接      译者:小村长

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

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

阅读全文

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

原文链接 译者:suzhuo

配置请求路由

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

阅读全文

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

原文链接  译者:carvendy

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

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

原文链接  译者:carvendy

故障处理

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

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

阅读全文

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

原文链接  译者:carvendy

服务发现与负载均衡

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

return top