高性能分布式系统设计

30 篇文章
27 人订阅

全部文章

Linker

一个值得关注的js项目:js-ipfs

未来能在浏览器内,实现大部分IPFS的功能,对于IPFS的推广有很大的好处。尤其是可以用于CDN领域。

1073
Linker

如何把Go调用C的性能提升10倍?

目前,当Go需要和C/C++代码集成的时候,大家最先想到的肯定是CGO。毕竟是官方的解决方案,而且简单。 但是CGO是非常慢的。因为CGO其实一个桥接器,通过自...

4166
Linker

从历史看未来,大规模微服务系统的困境----基于消息的架构的回归

在大规模分布式系统的架构上,微服务系统是现在很多大型互联网公司的架构方向。 这是一个务实的很好的方向,相对于旧的宏服务来说。 然而,像淘宝这种规模的系统,微服务...

2835
Linker

Go的defer和方法修饰符的一个小坑

先看代码: ? ? https://play.golang.org/p/GlM23bSW6zf 可见: 1. for 循环变量只有一份  2. 单行的defer...

3405
Linker

Go的PCRE包装在启用JIT的时候遇到的问题和解决方案

用CGO包装C的库, 如果启用了JIT的话,会有一些问题. 例如pcre用了JIT动态生成代码并JIT代码引用里自己线程的JIT Stack数据. 这时会有一个...

2827
Linker

避免Goroutine频繁创建来提高性能

频繁的创建和销毁goroutine带来的开销不仅仅是goroutine创建和销毁本身. 更大的开销是由于goroutine的Stack一开始只有2KB, 而大部...

3636
Linker

Go的nanomsg实现 mangos

mangos nanomsg是一个消息协议SP ("Scalable Protocols")的c语言实现,而mangos用golang实现了SP ("Scala...

4575
Linker

Go语言可用几种消息通讯方案

mangos  基于SP/nanomsg 协议,比较难用。 ProtoActor 类似Erlang的实现,比较新,完备度较低,但是性能还不错。 最近又多了一个选...

2755
Linker

【GO语言】合理配置GOMAXPROCS提升一倍以上的性能

GOMAXPROCS 用默认的,就是CPU的硬件线程数目, 对于大部分File IO密集的应用是不合适的。 至少应该配置到硬件线程数目的5倍以上, 最大1024...

3739
Linker

基于 CSP 的设计思想和 OOP 设计思想的异同

Go语言推崇的CSP编程模型和设计思想,并没有引起很多Go开发者包括Go标准库作者的重视。标准库的很多设计保留了很浓的OOP的味道。本篇Blog想比较下从设计的...

3824
Linker

从设计上规避Go语言的 interface{} == nil 判断容易出错的简单办法

Go语言的interface{} 本质上是一个结构,含有一个type字段,一个pointer字段。 很多初学者会拿一个已经在某种情况下被赋予类型的interfa...

2745
Linker

让Atom的go plus插件兼容govendor

目前,go plus插件不会在项目的vendor目录搜索, 有人提了issue,被残忍的关闭了. 解决方案: 在go path里面建立一个目录叫 vendor,...

35410
Linker

Pandas 简介

Pandas 是Python的数据处理包,全名:Python Data Analysis Library 是连接 SciPy 和 NumPy 的一种工具。特色...

3185
Linker

干掉支付宝留在Mac OS X里的进程

AlipayDispatcherService 是支付宝留在拦截TCP流量的进程。 耗电且不安全。不但每时每刻都会消耗系统的电力,还会拦截所有的TCP流量,这本...

3757
Linker

proxychains 一个好用的终端用代理拦截器

很多技术网站在国内不能很好的访问,需要借助一些工具。 但是,在终端里面,这些代理不一定起作用。 比如git curl wget就不会理睬mac系统的代理配置。 ...

34011
Linker

Maven配置socks5代理

export MAVEN_OPTS="-DsocksProxyHost=127.0.0.1 -DsocksProxyPort=1080" 或者在settings...

3607
Linker

写了一个Java like的ExecutorService的Go语言实现

练习下刚刚学的Go语言。GoExecutors 主要用法可以看main.go文件。 主要是想用Java处理并发的ExecutorService系列工具类的模式,...

3717
Linker

从一个WaitGroup的例子看Go语言的Upvalue的传递

Go语言的闭包捕获的外部变量,我还是习惯以Lua的叫法,称之为Upvalue,毕竟Go借鉴了很多Lua的特性。 让我们首先看五个几乎一样的代码片段。 packa...

2574
Linker

Jython设置默认编码

Jython项目对非ascii编码的支持不是很好,尤其是在windows环境。 但是需要用Jython做一些和Java配合的工作,又必须要能够在Windo...

2524
Linker

Jython动态加载Jar

用Jython做单元测试Java项目的时候,需要能动态的从Jar包里load类。 以下是一个简单的方法: import sys sys.path+=["...

2726

扫码关注云+社区