Istio:初识Istio

文章内容大部分来自Istio官网,这里属于学习的记录。

随着技术发展,应用从单体服务架构向微服务转变,从单点部署拆分成了数量众多的微服务分布式部署,在给开发带来便利的同时,也带来了许多挑战。

我们需要对微服务平台做许多额外的事情:

阅读全文

Nginx开启gzip优化数据传输

前言:本文的Nginx使用版本为:1.14.2

在Web应用中,用户打开一个页面或者加载一个请求耗时过长时,体验是非常差的。这个时间可能受到很多因素影响,比如:

    阅读全文

    在Mac OS X管理Java的版本

    开发Java的时候,第一步肯定是将JAVA_HOME在环境变量中设置好。
    Mac提供了一个方便地切换jdk版本的工具:/usr/libexec/java_home,使用起来也非常简单。

    按照传统的做法,我们可能是在我们的配置文件中,比如.bashrc、.zshrc里,

    1
    export JAVA_HOME=/path/to/your/java_home

    阅读全文

    使用npm link调试node.js模块

    有时候,在项目开发时,我们会为我们的项目开发一些独立模块。

    按照模块依赖的引入,我们会使用require去做:

    • 如果模块已经发布在仓库中,我们可以直接require模块名
    • 如果没有在仓库中,我们可以使用路径去进行引入

    阅读全文

    使用Pod探针让服务更可靠

    在默认情况下,Kubernetes启动Pod成功后,便认为它是可用的,Service会将Pod加入服务,流量就会进入到启动的Pod中。

    这其实会造成一些服务不可靠的情况,比如:

    1. 当我们用Deployment滚动升级的过程中,会遇到服务短暂性不可用,然后又恢复了。一个web服务,可能会出现502 Bad Gateway的一瞬间。

    阅读全文

    Nginx出现no live upstream问题

    有时候我们查看Nginx的错误日志,会发现有这么一种错误:

    2019/04/13 20:41:03 [error] 18904#0: *214818926 no live upstreams while connecting to upstream, client: 47.111.193.40, server: xxx.xxx.cn, request: “GET /api/xxx HTTP/1.1”, upstream: “http://service/api/xxx", host: “xxx.xxx.cn”

    阅读全文

    认识缓存系统

    缓存,是系统性能优化的一种有效手段,通过缓存系统,我们可以弥补某些性能难以提升的场景。 比如:

    • 数据库查询复杂的语句,尽管有索引帮忙,却还是相当耗性能;
    • 业务计算复杂,每次请求都耗费比较大的算力,响应较慢;
    • 读多写少,读取频率远远大于写入。

    阅读全文

    Vim插件推荐

    在使用插件之前,我们需要有一款插件管理器。
    推荐使用VundlePathogen
    这里只做介绍,如何安装请参考插件的具体说明。

    阅读全文

    Chrome快捷键

    简单记录下Mac下Chrome的快捷键。

    标签页和窗口快捷键

    阅读全文

    Linux性能工具top

    在Linux中,top是非常常用的性能分析工具,可以实时查看系统的信息,进程情况,资源占用情况。

    基本使用

    1
    2
    # 在终端下,我们输入top进入
    $ top

    阅读全文