0%

提起 Node.js ,大家可能认为对其的优劣已经分辨的很清楚:由于其默认单线程,所以不适合做计算密集型操作;由于其异步 IO 特性,所以对于 IO 处理比较友好。但这其实是一种误解,当 IO 并发到一定的量级,一样会损耗 CPU 资源。在 Node.js 引以为豪的 IO 处理方面,依然有其做的不完善的地方,本篇文章就给大家一一解密。

阅读全文 »

随着互联网业务的发展,互联网用户基数越来越大,对于服务提供者来说带来的并发压力也越来越大。以往通过单机提供服务的方式已经被淘汰,多机冗余、负载均衡等名词也已经成为当前服务开发的基本要求。如何感知到一个服务的多个节点,如何平滑的对于服务进行扩容,如何保证负载均衡的高效性,传统的负载均衡基础设施面对越来越多的挑战。而服务发现技术的出现,对于上述问题带来了一个更有的解决方案。

阅读全文 »

之前通过讲 [docker compose 教程](https://blog.whyun.com/posts/docker-compose-tutorial/) 初步了解容器编排技术。但是 docker compose 默认只能在单机模式下运行,如果想在多个宿主机上运行,你可以借助 [docker swarm](https://docs.docker.com/engine/swarm/) 技术,你可以方便的将 docker-compose.yml 文件运用到 swarm 集群创建中。不过由于 [kubernetes](https://kubernetes.io/zh/) 的出现,swarm 的市场受到了极大排挤,目前各大公司利用容器编排技术,一般都会选择 kubernetes。本文顺应时势,在讲解容器编排技术的时候也是选择了 kubernetes 作为入门教程。

阅读全文 »

docker 容器提供了一种封装格式,可以将应用和其运行环境封装在一起,但是在线上实践过程中,应用和应用之间难免要产生依赖,一个上游的应用,可能会依赖于下游的一个或者几个应用给其提供数据。正所谓一个好汉三个帮,现实情况中,一个服务部署完成之后,对外不产生依赖的情况还是比较少的,但是 docker 在开始设计的时候没有过多考虑到容器之间依赖关系的处理。为了解决这个问题,在后续的发展中,一系列的容器编排的技术出现,比如说 `Docker Swarm` `Marathon` `Kubernetes` 等。上面提到的编排工具都是可以用在生产环境上的解决方案,不过本文要讲一下 `Docker Compose` 这个官方给出的编排解决方案,由于其功能比较简单,一般出于测试目的来使用,不过正式由于其简单,对于理解更高级的编排工具来说,算是一个好的入门。

阅读全文 »

当我们将编写的程序部署到服务器之后,免不了会面临未知 bug 导致的程序崩溃退出问题,这个时候快速的将程序进行重启,显得尤为重要,特别是那种在后端和用户之间维持会话的服务。这篇文章就是讲一下,如果你的程序部署到 docker 后,如何做到优雅重启。

阅读全文 »

win10 中提供了 wsl 的解决方案,可以在 Windows 中直接开启 linux 子系统,十分方便开发者使用。同时一些重要的功能也要依赖于 wsl 才能启动,比如说 docker desktop。本教程就是演示一下如何在 win10 中配置 wsl ,并且如何正常使用 docker desktop。

阅读全文 »