Fork me on GitHub

Tech For Fun

kaelzhang's blog

在WePay中使用Linkerd作为服务网格代理

Using Linkerd as a Service Mesh Proxy at WePay

在WePay中使用Linkerd作为服务网格代理 本文是我给service mesh社区翻译的一篇文章。 原文地址:Using Linkerd as a Service Mesh Proxy at WePay 作者:Mohsen Rezaei 译者:Kael Zhang 在接下来的几个月中,我们将撰写一系列文章来记录从传统负载均衡器到谷歌Kubernetes引擎(GK...

对象健身操详解

the details of object calisthenics

对象健身操详解 优秀设计背后的核心概念并不高深,七条评判代码质量原则就基本上能够涵盖,它们具体是: 内聚性 松耦合 零重复 封装 可测试性 可读性 单一职责 对于上述原则,大家可能都耳熟能详,但在实际应用时可能就没那么容易去做了,这首先涉及到你是否能够严肃的对待它们,还是差不多就行。其次,你是否具备足够的经验或技术来具化它们,使之成为可能。由Jeff ...

  TLA+案例-JAVA缓冲区建模

  TLA+ case-JAVA buffer modeling

TLA+案例:JAVA缓冲区建模 前面的文章中提到,由于并发系统的不确定性,导致对系统的测试和调试是非常困难的。下面以共享缓存区为例来介绍如何在并发场景下应用TLA+。 背景介绍 假设要设计一个共享缓冲区系统,包含三块内容:生产者、消费者、缓冲区。 生产者:负责往缓冲区中写入数据。 消费者:负责从缓冲区中读取数据。 缓冲区:充当读写数据的同步器。缓冲区满的时候生产者需...

  形式化规范语言TLA+

  formal specification language TLA+

形式化规范语言TLA+ 基本定义 维基百科上对TLA+是这样定义的: a formal specification language developed by Leslie Lamport. It is used to design, model, document, and verify concurrent systems. TLA+ has been described a...

  形式化方法基础

  The basis of formal method

形式化方法基础 前言 优秀架构师在一些设计决策的过程中或多或少都会凭借自身的直觉或者经验,细细品味这句话:归根结底还是靠经验积累(直觉是基于大量前期经验从而快速找到解决方案的能力)。现实中无论多么完备的方法论在“by experience”面前都得靠边站。然而在某些关键时刻,由于时间、状态的变化,经验势必也可能不那么靠谱,经验主义错误也就此诞生。如何让自己做出的架构或者设计更加科学,就...

  【译】基于代理的服务网格

  Proxy Based Service Mesh

基于代理的服务网格 本文是我给service mesh社区翻译的一篇文章,原文地址 基于代理的服务网格是一种新兴技术,通过使用专用代理在容器编排级别提供横切式的基础设施功能,如服务发现,负载平衡,断路器,度量监控,分布式跟踪等,从而简化分布式微服务系统的构建。 通过消除服务中的样板代码,可自由地使用任何技术和任何编程语言。 如果想建立一个分布式的微服务系统,通常必须寻找一组提供服务发现...

  【译】拥抱SOA网络的数据一致性

  Embracing eventual consistency in SoA networking

【译】拥抱SOA网络的数据一致性 本文是我给service mesh社区翻译的一篇文章,原文地址 Envoy的基本设计原则之一是最终的一致性,几乎渗透到系统的每个方面,从线程模型到服务和配置发现(参见这里和这里以获得更多信息)。 我注意到在过去的几年中,当强如最终一致性的范式应用于SoA网络时,许多人发觉它是反常识的。 这并不奇怪:最终的一致性在理论上是有道理的,但是当实际应用于许多现...

  【译】使用Istio提升端到端的安全

  Secure by default service to service communications

使用Istio提升端到端的安全 本文是我给service mesh社区翻译的一篇文章,原文地址 传统的网络安全方法无法解决部署在动态生产环境中的分布式应用程序的安全威胁。今天我们将介绍Istio Auth如何帮助企业将他们的安全形态从边缘防护转变为始终如一地保护应用程序内的所有服务间通信。借助Istio Auth开发和运维人员可以使用敏感数据来保护服务,防止未经授权的内部人员访问,并且在...

  【译】使用Weave Scope探索微服务通信和服务网格(OpenShift和Istio)

  Using Weave Scope to explore Microservices Communication and Service Mesh (OpenShift and Istio)

【译】使用Weave Scope探索微服务通信和服务网格(OpenShift和Istio) 本文是我给service mesh社区翻译的一篇文章。 原文地址:https://holisticsecurity.io/2018/01/12/using-weave-scope-to-explore-microservices-communication-and-service-mesh-open...

    DDD之“道术器”

  The “Tao-Shu-Qi” of DDD

DDD之“道术器” 领域驱动设计(DDD)作为一种软件设计方法从2003年面世以来,伴随着软件行业的系统架构的日趋复杂(软件架构模式也从单体架构逐步演进到SOA,而后再到微服务,详情参见之前写的软件架构模式速览),DDD也从开始时的不温不火到近年来逐步为业界广泛接受。 在金庸名著《神雕侠侣》中剑魔独孤求败在石壁上刻下这么几句: 紫薇软剑,三十岁前所用,误伤义士不祥,悔恨无已,乃...