程序印象

程序印象

知行合一 业精于勤

走进 Go 的垃圾回收之旅(译)
原文地址:Getting to Go: The Journey of Go’s Garbage Collector 12 July 2018作者:Richard L. Hudson翻译:狄卫华Blog: https://www.do1618.com 这是我在 2018 年 6 月 18 日内存管理国际研讨会(ISMM)上发表的主题演讲稿。过去 25 年来,ISMM 一直是内存管理和垃圾回收论文发表的首选,我很荣幸被邀请发表主题演讲。 翻译备注: Runtime 运行时,一般不翻译Latency 延时The Tail at Scale 规模的长尾效应Read Barrier 读屏...
分布式跟踪:Istio与应用程序(译)
原文链接:https://thenewstack.io/distributed-tracing-istio-and-your-applications/ 作者:Neeraj Poddar 译者:狄卫华 校对: 在微服务领域,分布式跟踪正逐渐成为调试和跟踪应用程序最重要的依赖工具。 通过最近的聚会和会议,我发现人们对分布式跟踪工作原理很感兴趣,但同时对于分布式跟踪如何与Istio和Aspen Mesh等服务网格进行配合使用存在较大的困惑。特别地,我经常被问及以下问题: 跟踪如何与Istio一起使用?在Span中收集和报告哪些信息? 是否必须更改应用程序才能从Istio的分布式跟踪受益...
no Elasticsearch node available
现象现场的 ORG 服务使用了 ES 搜索,但是现场的搜索一直不能够正常工作。 现场情况如下: ES 版本为 5.5.1, 部署在机器 B 上,采用 Docker 方式部署。 ORG 服务采用 go 语言开发,驱动是采用的 “gopkg.in/olivere/elastic.v5” 部署在机器A上,搜索数据一直返回空,在 ES 机器上用命令行直接搜索有结果数据。 TES 服务采用 node.js 开发,也连接 ES ,能够正常工作。 机器 A 上 使用 curl es_addr 能够正常显示 ES 集群相关信息。 ORG 服务于 ES 服务部署在同一台机器上时,可以正常工作。 简单...
Hello Envoy EDS
Arch See alos: https://github.com/DavadDi/envoy_discovery Start SDS/EDS server12345678910$ cd eds_server/$ virtualenv env --python=python2.7$ source env/bin/activate$ pip install -r requirements.txt# ImportError: No module named enum# $ pip install enum34$ python main.py Start upstream serverStar...
身份验证和授权:OpenID vs OAuth2与SAML (译)
作者:Jaime Lightfoot spin.atomicobject.com May 30th, 2016 原文:Authentication and Authorization: OpenID vs OAuth2 vs SAML 原文链接:https://spin.atomicobject.com/2016/05/30/openid-oauth-saml/ 我目前在 AO 的项目中得到了很多机会来了解网络安全,以及点击无处不在的 “使用Google/Facebook登录” 按钮时发生的情况。作为计算机开发人员和终端用户,我都希望应用程序安全而不会太难使用。 寻找适合我们的应用程序和...
JSON Web Token
JSON Web Token (JWT) 介绍定义 RFC7519,对于 JWT Token 的签名和验证,可以使用在线资源 https://jwt.io/,该网站也列出了各种语言层面支持的Libraries。 12345678910111213141516#base64UrlEncode(header) + "." + base64UrlEncode(payload) + "." + base64UrlEncode(signature)eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6Ik...
Go 内存逃逸详细分析
Slice 怪异现象分析实例原贴地址:https://gocn.io/question/1852 12345678910111213141516package mainimport ( "fmt")func main(){ s := []byte("") s1 := append(s, 'a') s2 := append(s, 'b') // 如果有此行,打印的结果是 a b,否则打印的结果是b b // fmt.Println(s1, "===", s2) fmt.Println(string(s1), string(s2))} 诡异的现象:如果有行 14 的...
ES 中的索引与类型的前生今世
起因在研发环境中由于 ElasticSearch 数据被清理,在重建数据的过程中,发现不能够在一个索引下建立多个类型,测试样例和报错如下: 1234567891011121314151617181920212223242526272829303132333435363738curl -X PUT \ http://127.0.0.1:9200/twitter/ \ -H 'cache-control: no-cache' \ -H 'content-type: application/json' \ -H 'postman-token: 1e1e9035-53dd-64ae-2d...
服务网格如何帮助微服务安全?(译)
翻译:狄卫华 作者:Christian Posta 原文地址:http://blog.christianposta.com/how-a-service-mesh-can-help-with-microservices-security/ ServiceMesh中文网:微服务前方有雷,服务网格帮你趟过通信安全这个坑! 我看到很多客户转向微服务(他们是否应该是另外一个帖子的主题),他们试图通过这种方式解决一些组织化的规模问题。但是,转向微服务架构的细节往往会为新的问题带来一些旧问题。我与之交谈的大多数客户采用一种策略:架构上既有内部部署也有公共云部署。将应用程序分解为更小的服务并拥有多个部署...
Operators 介绍(译)
作者:November 03, 2016 By Brandon Philips 翻译:狄卫华 原文:Introducing Operators: Putting Operational Knowledge into Software 原文链接:https://coreos.com/blog/introducing-operators.html 现场可靠性工程师(Site Reliability Engineer)是通过编写软件来管理应用程序的人员。 他们是工程师,开发人员,知道如何专门为特定的应用领域开发软件。 由此产生将应用程序的运行的领域知识编入对应的软件(简单的说就是,产生了一个专...
Davad.Di
编程业余爱好者