随笔分类 -  Architecture

摘要:常见安装部署方式 Minikube 单节点, 微型, 仅供学习 二进制安装部署(生产首选,新手推荐) 难 使用 kubeadmin 进行部署,K8S的部署工具(相对简单,熟手推荐) 虚拟机准备 hostnamectl set-hostname ubuntu01.host.com 进到这个目录 /et 阅读全文
posted @ 2020-03-25 16:30 神之一招 阅读(193) 评论(0) 推荐(0) 编辑
摘要:Pod/Pod控制器 Name / Namespace Label / Label选择器 Service / Ingress Pod / Pod 控制器 Pod: 能够被运行的最小逻辑单元. 边车(SideCar)模式, 类似那种带挎抖的摩托车. 1个 Pod 可以运行多个容器, 容器之间共享 UT 阅读全文
posted @ 2020-03-25 15:28 神之一招 阅读(188) 评论(0) 推荐(0) 编辑
摘要:服务网格(Service Mesh)是一个基础设施层. 微服务架构标准. 微服务2.0, spring cloud 是 微服务1.0 现有的微服务架构, 是一个七拼八凑的. Istio -> Kubernetes Google, IBM, Lyft 联合打造 Go + gRPC + Istio 微服 阅读全文
posted @ 2020-03-25 13:37 神之一招 阅读(725) 评论(1) 推荐(0) 编辑
摘要:Dockerfile: 配置文件, 可以 build 一个镜像. tar 文件: 类似虚拟机存储在磁盘上的文件. (这样就可以转存这个tar 从而实现镜像的 copy) 仓库: 远程仓库, 可以下载带环境变量的 docker, 比如带 nginx 比如我用 play with docker 玩的下载 阅读全文
posted @ 2020-03-24 21:01 神之一招 阅读(281) 评论(0) 推荐(0) 编辑
摘要:各个微服务之间,推荐通过 http restful api 接口来进行调用. 每个微服务可以做成敏捷团队进行开发. ( 双11期间,后端业务并发量高的,增加高可用, duplicate + 负载均衡.) 用的比较多的微服务架构 dubbo 和 spring cloud spring boot(web 阅读全文
posted @ 2020-03-24 14:22 神之一招 阅读(369) 评论(0) 推荐(0) 编辑
摘要:为什么会有中间件 随着数据库规模的增加,一个表里几千万的数据,导致查询缓慢,这时候就有一些解决方案: 历史表 垂直拆分(将部分列拆分成子表), 不降低记录数,但是整个表的数据量变小。 水平拆分(分区表,行数减少) 读写分离, 这时候需要一个中间件来把对数据的请求路由到不同的库上. 为什么中间件停止更 阅读全文
posted @ 2020-03-23 21:23 神之一招 阅读(1428) 评论(0) 推荐(0) 编辑
摘要:继续发展, 发现需要针对某以一业务做成一个 应用服务器集群. 集群 与 分布式的区别 演化过程: 混沌状态(所有东西都在一个server上) -> 各自独立server -> 集群化 -> 分布式改造 -> 多集群部署 每个集群自己还是分布式的. 用户量继续扩大,需要异地部署 拆分的维度 系统维度: 阅读全文
posted @ 2020-03-23 21:04 神之一招 阅读(401) 评论(0) 推荐(0) 编辑
摘要:大概的意思, 微服务 上边只是一个简单的架构, 类似数据支撑等, 可能还有很多别的方面, 比如访问文件的 等等. 另外, 现在又有新的了. 服务网格: 下一代微服务标准, service mesh, 代表解决方案 istio 阅读全文
posted @ 2020-02-25 21:04 神之一招 阅读(2296) 评论(0) 推荐(0) 编辑
摘要:例如 vue , 这种前后端分离的框架如何部署 1. 前后端一起部署, 前端打包成静态文件后, copy 到后端项目中,然后部署后端项目。 如果选择这种方式, 需要把dist文件夹里的内容, 一样的 copy 到 resource/static 文件夹下. 这种静态资源不会被 spring secu 阅读全文
posted @ 2020-02-25 20:18 神之一招 阅读(12735) 评论(0) 推荐(1) 编辑
摘要:目前, 第一个 从 2018 年开始, 没有维护了. 目前,又提出一种方案,服务网格: 下一代微服务标准。service mesh, 也出来了代表解决方案. istio 万变不离其宗 API网关,服务路由 HTTP, RPC 框架,异步调用 服务注册与发现,高可用 熔断,降级服务 可参考的一个框架 阅读全文
posted @ 2020-02-24 17:24 神之一招 阅读(158) 评论(0) 推荐(0) 编辑
摘要:RPC 远程调用, 实际上 RPC 也是一个通信协议. 分布式系统的主要问题是 网络不可靠. RPC: 是进程之间的远程调用, 允许 A 电脑上的进程调用 B 电脑上的方法. 我们不需要知道 RPC 的细节. RPC的 核心 : 通信, 序列化 序列化: 数据传输需要转化. (通信都需要序列化) 在 阅读全文
posted @ 2020-02-24 17:10 神之一招 阅读(167) 评论(0) 推荐(0) 编辑
摘要:微服务 server 推荐使用 Docker. 使用 Docker 可以让开发者封装他们的应用以及依赖包到一个可移植的容器中。然后发布到任意的 Linux 机器上. Docker 容器完全使用沙箱机制,彼此之间不会有任何接口。 Docker 和虚拟机的区别 虚拟机:应用程序是运行在操作系统上的,应用 阅读全文
posted @ 2020-02-24 10:57 神之一招 阅读(163) 评论(0) 推荐(0) 编辑
摘要:开发工具推荐 Spring Tool Suite(STS) 基于 eclipse, 或者是 IntelliJ IDEA. 因为 SpringBoot 中已经继承 Tomcat, 所以, 只需要执行 java -jar xxx.jar 就可以启动服务了. (当然有时候还是需要打成 war 包) Spr 阅读全文
posted @ 2020-02-24 10:33 神之一招 阅读(140) 评论(0) 推荐(0) 编辑
摘要:微服务是一种 service 思维, 每一个service 是独立的, 实现敏捷开发和部署. 微服务架构适合有一定的扩展复杂度. 传统的扩展 (把一个copy成两个, 我们目前就是这种) 问题: (下边只列2个吧) 全面扩展, 把压力不大的服务也扩展了2个. 影响开发效率, 因为是一个大应用. 开发 阅读全文
posted @ 2020-02-24 10:03 神之一招 阅读(172) 评论(0) 推荐(0) 编辑
摘要:基本思想: 拆 CAP原则 :又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾 面向流程拆分,面向服务拆分,面向功能 阅读全文
posted @ 2020-02-04 09:50 神之一招 阅读(137) 评论(0) 推荐(0) 编辑
摘要:有点 incident 的意思 分析, 受影响的程度,系统的 critical 程度, 监控预警, 自恢复等 容灾 等 存储高可用 数据集群, 分布式, 业务高可用 降级: 只提供部分系统功能给业务. 熔断: 当外部接口出现问题进而导致整个系统缓慢等问题出现,切断与外部接口的部分功能,这部分功能也不 阅读全文
posted @ 2020-02-03 16:23 神之一招 阅读(107) 评论(0) 推荐(0) 编辑
摘要:存储高性能 关系数据库 读写分离,基本原理是将数据库读写操作分散的不同的节点,基本的实现方式: 1) 数据库服务器搭建主从集群,一主一从,或一主多从. 2) 数据库主机负责读写操作,从机只负责读操作。 3)数据库主机通过复制将数据同步到从机,每台数据库服务器都存储了所有的业务数据。(困难,同步需要时 阅读全文
posted @ 2020-02-03 15:31 神之一招 阅读(147) 评论(0) 推荐(0) 编辑
摘要:随着然健系统规模的增加,计算相关的算法和数据结构不再构成主要的设计问题; 当系统由许多部分组成时,整个系统的组织,也就是所说的“软件架构”,导致了一系列的新的设计问题。 架构设计本身是为了解决软件的复杂度。 架构设计并不是要面面俱到,不需要每个架构都具备高性能,高可用,高扩展等特点,而是要识别出复杂 阅读全文
posted @ 2020-02-03 13:00 神之一招 阅读(201) 评论(0) 推荐(0) 编辑