原创 aop 階段性概況

前言 對aop進行一個階段性的總結。 正文 首先什麼是aop呢? 那麼首先看aop的解決什麼樣的問題。 public class Program { public static void Main(string[] args)

原创 簡單寫一個eventbus

前言 閒暇之餘,簡單寫一個eventbus。 正文 什麼是eventbus? eventbus 是一個開源的發佈訂閱模式的框架,用於簡化程序間不同組件的通信。 它允許不同組件間松耦合通信,組件之間不通過直接引用的方式,而是事件的方式進行消息

原创 簡要服務設計 ———— 簡單整理微服務架構和軟件設計[一]

前言 從多經典本書和幾年的服務設計經驗中,簡單整理一些基本的套路以及一些常見的陷阱,共同討論一些自己的想法和講述一些自己的經驗,一起討論。 正文 紀念錄,後續補全。

原创 mysql 簡單進階 ———— 重構查詢[二]

前言 簡單整理一下重構查詢。 正文 爲什麼我們需要重構查詢,原因也很簡單,那就是查詢慢。 爲什麼會查詢慢? 查詢性能慢底下的最基本的原因是訪問的數據太多。 某些查詢不可避免地需要篩選大量的數據,但這並不常見。 大部分性能低下的查詢都可以通過

原创 mysql 簡單進階 ———— 多列索引[一]

前文 整理一下mysql 的一些簡單進階技巧,來源於高性能mysql,但不是根據書的序列來的。 正文 有一個問題,那就是我們爲什麼要創建多列索引呢? 這是要思考的一個問題。 爲什麼創建多列索引,而不是創建多個單列索引。需要弄明白這個問題,那

原创 重新整理 .net core 實踐篇———承載[外篇]

前言 簡單介紹一下承載。 正文 名稱叫做承載,其實就是.net core 定義的一套長期運行的服務的規範。 這個服務可以是web服務,也可以是其他服務,比如tcp,或者一些監控服務。 這裏以監控服務爲例子: public class Per

原创 k8s 深入篇———— Job與CronJob[十]

開篇 簡要演練一下job 和 cronjob 正文 實際上,它們主要編排的對象,都是“在線業務”,即:Long Running Task(長作業)。比如,我在前面舉例時常用的 Nginx、Tomcat,以及 MySQL 等等。這些應用一旦運

原创 k8s 深入篇———— 守護容器[九]

前言 守護容器,也叫做deamonset, 只做整理 正文 顧名思義,DaemonSet 的主要作用,是讓你在 Kubernetes 集羣裏,運行一個 Daemon Pod。 所以,這個 Pod 有如下三個特徵: 這個 Pod 運行在 Ku

原创 k8s 深入篇———— 編排[八]

前言 簡單整理一下編排。 正文 一個deployment 例子: apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: selecto

原创 k8s 深入篇———— k8s 的pod[五]

前言 簡單整理一下pod的相關知識。 正文 爲什麼我們需要pod。 前面我們知道了k8s一個最重要的作用是解決容器的編排功能,那麼爲什麼有一個pod的東西。 這就是實際中遇到的問題。 那就是容器和容器之間,那就是如何表達容器和容器之間的關係

原创 k8s 深入篇———— pod 深入實戰[七]

前言 深入一下pod 實戰。 正文 在 Kubernetes 中,有幾種特殊的 Volume,它們存在的意義不是爲了存放容器裏的數據,也不是用來進行容器和宿主機之間的數據交換。 這些特殊 Volume 的作用,是爲容器提供預先定義好的數據。

原创 k8s 深入篇———— pod 實戰[六]

前言 pod 實戰一下,主要是一些例子。 正文 例子一 pod 實例的選擇: NodeSelector:是一個供用戶將 Pod 與 Node 進行綁定的字段 NodeName:一旦 Pod 的這個字段被賦值,Kubernetes 項目就會被

原创 k8s 深入篇———— k8s 的本質[四]

前言 簡單整理一下k8s的本質。 正文 首先,Kubernetes 項目要解決的問題是什麼? 編排?調度?容器雲?還是集羣管理? 實際上,這個問題到目前爲止都沒有固定的答案。因爲在不同的發展階段,Kubernetes 需 要着重解決的問題是

原创 k8s 深入篇———— 一些容器操作的原理[三]

前言 簡單介紹一下一些容器的操作原理。 正文 docker exec 是怎麼做到進入容器裏的呢。 比如說: 這裏有一個容器,我們可以exec 進去: docker exec -it b265 /bin/sh 我們爲什麼能看到和容器內部

原创 k8s 深入篇———— docker 是什麼[一]

前言 簡單的整理一下一些基本概念。 正文 簡單運行一個容器: 創建一個容器: docker run -it busybox /bin/bash 然後看下進程: ps -ef 做了一個障眼法,使用的是pid namespace方式,讓容