ljchen's Notes

Quick Notes


  • 首页

  • 标签

  • 分类

  • 归档

  • 搜索

Istio的sidecar注入

发表于 2019-04-04 | 分类于 cloud-native |
阅读时长 ≈ 11 mins.

之前那篇文章太长,直接导致网站的search模块废掉,现单独将sidecar的注入这块内容拉出来讲,也方面后面再更新更多内容。

阅读全文 »

Istio实践

发表于 2019-04-03 | 分类于 cloud-native |
阅读时长 ≈ 10 mins.

本文主要涉及Istio学习过程中使用过的一些yaml文件的整理,便于后续作为模板快速拷贝^_^

组件调试

在Istio使用中,遇到被悲催的事莫过于:”配置下发了,但是系统中流量规则始终不生效”(这个直接影响到业务,所以真心要在生产环境中慎用istio)。此时,需要对istio中各组件的工作原理以及其debug方式有一定的了解,下面是一些简单的信息收集方式。

阅读全文 »

Cloud Native架构设计

发表于 2019-03-30 | 分类于 cloud-native |
阅读时长 ≈ 2 mins.

之前有在文章中介绍过云原生的十二要素,今天来介绍下云原生架构以及其架构设计中需要考虑的关键因素(后续逐步完善)。

概要

还是先通过一张图简单介绍云原生架构的组成,具体见下图:


阅读全文 »

分布式定时任务

发表于 2019-03-30 | 分类于 distributed-system |
阅读时长 ≈ 2 mins.

在实现定时弹性伸缩的时候,遇到需要配置定时任务的场景,按照云原生应用架构,应该将这类状态放到中间件中。苦于TbSchedule和Elastic-Job这类的任务管理服务都无法满足需求:

  1. 语言特性方面,都是Java一派的,不支持golang;
  2. 弹性伸缩规则需要做到能够动态添加删除、也就是任务的cron expression不是固定配置死的;

于是,决定自己实现一套分布式的定时任务管理服务,定位为中间件。

阅读全文 »

NATS Streaming实践

发表于 2019-03-17 | 分类于 distributed-system |
阅读时长 ≈ 6 mins.

Rocket MQ在业务开发中用的比较多,无论是其功能还是易用性方面表现很不错。先前云平台代码中也是用RMQ作为消息中间件,但是在上生产的前夜,QA对微服务做高可用测试时发现一些连接相关的问题。连夜分析,深入追踪当时使用的一个RMQ非官方golang库,发现其代码比较乱,最终评估下来决定在放弃对RMQ的使用。

阅读全文 »

配置中心Apollo入门

发表于 2019-03-02 | 分类于 distributed-system |
阅读时长 ≈ 3 mins.

Apollo是携程开源的配置中心,社区比较火,当前在生产中使用的用户量也非常大。用户侧的功能和使用,本文就不一一介绍了,这方面的文档比较多。这里结合最近在公司环境中的大规模部署,简要做一些概要总结,重点涉及一些分布式部署中可能遇到的问题。

阅读全文 »

Gitbook必备技能

发表于 2019-01-04 | 分类于 others |
阅读时长 ≈ 4 mins.

GitBook是一个基于Node.js的命令行工具,可使用Github/Git和Markdown来制作电子书(其实主要是写用户手册,API使用文档之类的啦)。总之,程序员必备技能,这里就不多强调重要性了!markdown语法请自行google,本文只简单介绍一些gitbook的目录结构和简单用法。

安装gitbook-cli

1
npm install gitbook-cli -g
阅读全文 »

Consul原理解析

发表于 2019-01-04 | 分类于 distributed-system |
阅读时长 ≈ 19 mins.

从2016年开始接触微服务的时候就使用consul,当初只知道其特别方便,是一款不错的服务注册与发现工具。至于其部署架构,实现原理都没有深入去了解过,就如同年少读书不求甚解。最近,在着手搞微服务治理,服务治理与发现这块正好选型consul,这才详细的琢磨了下其代码,也对其原理有了一定的认识。下面就听我就徐徐道来……

阅读全文 »

Go Modules依赖管理

发表于 2018-11-24 | 分类于 programming-language |
阅读时长 ≈ 3 mins.

go modules是golang v1.11中引入的新功能,其主要用来解决传统的golang项目必须要放到$GOPATH目录下的问题。通过一套类似于maven的方式来将依赖放到系统指定目录,统一管理。

功能开关

go module支持三种模式:

  • on
    顾名思义,就是打开go mod
  • off
    关闭go mod, 使用传统的go vendor模式
  • auto
    自动模式,当目录在$GOPATH下时,使用 go vendor模式;当在$GOPATH之外时,使用 go mod模式
阅读全文 »

Kubelet的probe探针流程分析

发表于 2018-11-16 | 分类于 kubernetes |
阅读时长 ≈ 3 mins.

kubernetes提供了用于存活性检查的liveness和用于服务就绪检查的readiness功能,这两个功能为服务的可靠性提供了极大的帮组;接下来我们就来分析下在kubelet源码中是如何实现这块功能的。

概念

kubelet中提供了liveness和readiness探针,这两种探针都支持基于HTTP/TCP/Command的形势;而且他们的配置都是一致的,只是各自的用途不同而已。

阅读全文 »
1…345…8
ljchen

ljchen

73 日志
9 分类
87 标签
RSS
GitHub Email Twitter Facebook
© 2017 — 2021 ljchen | 528k
由 Hexo 强力驱动
|
主题 — NexT.Pisces v6.0.0
网站统计
0%