最新 | 最热门 | 最高评价

+0  分布式系统Redirect和Proxy的区别

Tag: 分布式
ideawu 发于 2021年07月15日 23:41 | 点击: 131 | 展开摘要
正如之前文章"分布式系统核心三要素"所提到的, 多分区(Sharding) 是分布式系统必不可少的核心特性, 无 Sharding 不分布式. Sharding 之后, 必然会遇到服务发现的问题, 也即服务寻址, 或者路由表.

客户端在访问系统的服务之前, 需要拉取路由表, 根据路由表找到访问点的地址, 然后直接请求节点. 根据"Single Source of Truth"原理, 路由表的信息并不是 Truth, 不可能实时反映集群的 Sharding 分布, 因此, 客

查看全文: http://www.udpwork.com/item/17987.html

+0  世界,您好!

Tag: 未分类
233NPC 发于 2021年07月15日 17:20 | 点击: 105 | 展开摘要
欢迎使用WordPress。这是您的第一篇文章。编辑或删除它,然后开始写作吧!

查看全文: http://www.udpwork.com/item/18041.html

+0  浅谈K8S下gRPC负载均衡问题

Tag: Technical
老王 发于 2021年07月14日 17:21 | 点击: 106 | 展开摘要
一般来说,在 K8S 下部署服务是很简单的事儿,但是如果部署的是一个 gRPC 服务的话,那么稍不留神就可能掉坑里,个中缘由,且听我慢慢道来。

在 K8S 下部署服务,缺省情况下会被分配一个地址(也就是 ClusterIP),客户端的请求会发送给它,然后再通过负载均衡转发给后端某个 pod:

ClusterIP

如果是 HTTP/1.1 之类的服务,那么 ClusterIP 完全没有问题;但是如果是 gRPC 服务,那么 ClusterIP 会导致负载失衡,究其原因,是

查看全文: http://www.udpwork.com/item/18007.html

+0  [译]编程语言内存模型

Tag: Go
鸟窝 发于 2021年07月14日 15:06 | 点击: 116 | 展开摘要
这是Russ Cox的第二篇Programming Language Memory Models。

如果你已经阅读了前一篇硬件内存模型,以及如果有Java内存模型或者C++内存模型的经验,本文还好理解,如果你没有相关经验,可能阅读起来比较费劲,建议先阅读一下相关的材料。论文有些词句比较难以理解,本人才学疏浅,有翻译不当之处欢迎批评指正。

编程语言内存模型回答了并行程序可以依靠什么行为以便它们的线程之间可以共享内存的问题。例如,考虑下面这个类似C语言的程序,其中x和done

查看全文: http://www.udpwork.com/item/18050.html

+0  [译]硬件内存模型

Tag: Go
鸟窝 发于 2021年07月14日 11:23 | 点击: 106 | 展开摘要
Russ Cox关于内存模型的系列文章之一。这是第一篇 Hardware Memory Models

简介: 童话之终局

很久以前,当每个人都写单线程程序的时候,让程序运行得更快最有效的方法之一是坐下来袖手旁观。下一代硬件和编译器的优化结果可以让程序像以前一样运行,只是速度会更快。在这个童话般的年代,有一个判断优化是否有效的简单测试方法:如果程序员不能区分合法程序的未优化执行结果和优化执行的结果之间的区别(除了速度的区别),那么这个优化就是有效的。也就是说,有效的优化不会

查看全文: http://www.udpwork.com/item/18052.html

+0  [译]更新Go内存模型

Tag: Go
鸟窝 发于 2021年07月14日 11:04 | 点击: 102 | 展开摘要
这是Russ Cox的系列论文的第三篇,也是最后一篇: Updating the Go Memory Model。

文章对 官方的Go内存模型做了一些补充和思考。

当前的Go语言内存模型是在2009年编写的,从那以后略有更新。很明显,至少有一些细节我们应该添加到当前的内存这个内存模型中,其中包括对竞态检测器的明确认可,以及关于sync/atomic中的API是如何同步程序的清晰声明。

这篇文章重申了Go的总体哲学和当前的内存模型,然后概述了我认为我们应该对Go内存模型进

查看全文: http://www.udpwork.com/item/18049.html

+0  我的音乐播放器可能跟你的不太一样

李忠 发于 2021年07月14日 09:08 | 点击: 96 | 展开摘要
听音乐是很正常的需求,市面上也有很多解决此类诉求的工具,比如 Apple Music 或者 Spotify,我之前用的比较多的是 Spotify,后来由于付款方式(不习惯将自己的账号密码让淘宝上的商家操作)不便,就切换到了 Apple Music,但实在用得不舒服(尤其是「喜欢的歌」这么简单的一个诉求,都要通过极其复杂的方式(在 Mac 端的 Music 中新建 Smart List,filter 设为 loved is true,这还不够,还要将歌曲加入到 Library

查看全文: http://www.udpwork.com/item/18021.html

+0  Leader based 的集群也可以100%高可用

Tag: 分布式 | Raft
ideawu 发于 2021年07月13日 21:57 | 点击: 124 | 展开摘要
很多初学者错误地认为, 像 Raft 这样的 leader based 的分布式协议不是 100% 高可用的, 因为"Raft 在选主的过程中, 不能提供服务". 初学者之所以存在这种错误认知, 完全是因为他们没有理论结合实践, 只略懂一点理论皮毛, 就胡乱引申导致的. 本文将在理论和实践结合的层面上, 分析这种错误认知.

首先, Raft 的选举过程并没有特殊的成本, 在局域网条件下, 一般只需要 5ms 的时间. 5 毫秒对于实用的分布式集群, 是微不足道的时间长度,

查看全文: http://www.udpwork.com/item/17988.html

+0  [译] Paul Graham: Life is Short

李忠 发于 2021年07月13日 21:17 | 点击: 103 | 展开摘要
Paul Graham 5 年前的文章,表述了他对「生命短暂」的一些感受,发现还没有比较好的译文,就翻译了下。

众所周知,生命是短暂的。当我还是个孩子的时候,我曾经怀疑过这个问题。生命是真的短暂,还是我们只是在抱怨生命的有限?如果我们活了10倍的时间,我们是否也会觉得生命很短?

似乎无法回答这个问题,就没再去想它。等我有了孩子后,再来看这个问题,我想我有答案了:生命确实是短暂的。

有了孩子后,我知道了如何将一个连续的量,即时间,转换成离散的量。你只有52个周末和你两岁的

查看全文: http://www.udpwork.com/item/18022.html

+0  系统架构设计背后的不良涌现物 - 旁观者

旁观者 发于 2021年07月13日 12:02 | 点击: 94 | 展开摘要
【摘要】每个部件当时都按计划执行着自己的功能,结果却发生了事故,试着理解并预估这种系统故障,也是系统思维的一项目标。 阅读全文

查看全文: http://www.udpwork.com/item/18005.html

+0  推荐一部真人秀:双层公寓(都会男女)

李忠 发于 2021年07月12日 21:17 | 点击: 94 | 展开摘要
豆瓣 8.3,imdb 8.2,不过我入坑时并没有参考这些,主要是它出现在了我的 Netflix 推荐,就想看看真人秀到底能秀成怎样,手指就按了下去。节目的设定有点意思:三男三女让他们在同一个家中居住,从中观察他们在一起生活会发生怎样的故事。每个人的背景,身份和工作都不一样。除了在家中表现出的场景,在户外和工作里,镜头也跟踪拍摄。号称没有剧本,在同一个屋檐下的生活怎么发展,全凭他们演绎。

一部分是出于好奇,还有一部分是画面美:电视剧的质感,养眼的参与者,别墅的设计,东京和美

查看全文: http://www.udpwork.com/item/18023.html

+0  TransactionTooLargeException 问题分析与解决

技术小黑屋 发于 2021年07月12日 11:44 | 点击: 106 | 展开摘要
在处理 App 崩溃时,有一种崩溃问题着实难以解决,甚至是令人挠头。比如像是今天将讨论的TransactionTooLargeException。下面就是该异常出现时的 stacktrace 信息。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

java.lang.RuntimeE

查看全文: http://www.udpwork.com/item/18044.html
|<<<45678910>>>| 一共1357页, 16273条记录