分布式与微服务
文章平均质量分 75
ChaosMeta博客
“The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.”
展开
-
knative
一.简略介绍二.文字介绍1.Serverless1.1 Serverless介绍:字面理解即无服务架构,指由第三方云计算供应商以服务的方式为开发者提供所需功能,例如数据库、消息,以及身份验证等。它的核心思想是让开发者专注构建和运行应用,而无需管理服务器。1.2 Serverless优点:Serverless 最大的优点就是自动扩展伸缩、无需自己管理。 在以往部署一个应用时,需要经历购买服务器、安装操作系统、购买域名等等一系列步骤,应用才能真正的上线。后来.原创 2022-02-23 18:03:18 · 794 阅读 · 0 评论 -
k8s-kubectl配置及使用
一.kubectl 安装kubectl是用于针对Kubernetes集群运行命令的命令行接口。你可以通过kubectl部署集群应用,检查和管理集群资源,查看日志等。1.安装brew install kubernetes-cli2.增加可执行权限chmod+x./kubectlsudo mv./kubectl/usr/local/bin/kubectl3.验证kubectl version二.kubectl配置1.配置文件2.配置生效...原创 2021-09-01 10:18:50 · 2223 阅读 · 0 评论 -
k8s-helm配置及使用
一.helm介绍应用程序封装 版本管理依赖检查 便于应用程序分发二.helm安装1.安装Homebrewruby -e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"2.安装helmbrew install kubernetes-helm3. 查看版本helm version三.helm命令helm create:在本地创建新的 chart原创 2021-09-01 10:14:35 · 497 阅读 · 0 评论 -
k8s-基本概念
一.术语1.node(结点)Node 是机器。它们是 Kubernetes 用于部署 Pod 的“裸机”(或虚拟机)。Node 为 Kubernetes 提供可用的集群资源用于以保持数据、运行作业、维护工作负载、创建网络路由等。2.podPod 是 Kubernetes 中最小的可互动单元。一个 Pod 可以由多个容器组成,这些容器共同部署在单个节点上形成一个单元。一个 Pod 具有一个 IP,该 IP 在其容器之间共享。在微服务世界中,一个 Pod 可以是执行后台工作或服务请求的微服务的单原创 2021-09-01 10:12:34 · 659 阅读 · 0 评论 -
Pilot源码解析
Pilot路由配置下发Pilot本地配置监听原创 2021-03-17 11:42:49 · 320 阅读 · 0 评论 -
全链路监控
全链路监控方案调研/实现过程一.全链路监控的背景随着微服务的普及,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题。 2. 内存选型,首先排除内存,内存的存储量小且珍贵;NoSQL数据库储在内存中的直接不考虑,Pik...原创 2021-03-17 11:22:01 · 2775 阅读 · 0 评论 -
Rpcx实现
一.代码介绍1.1 server结构// Server is rpcx server that use TCP or UDP.type Server struct { ln net.Listener //监听 readTimeout time.Duration //读取client数据的超时时间 writeTimeout ...原创 2020-01-10 18:12:14 · 2500 阅读 · 0 评论 -
微服务-部署策略
一.动机 部署单体应用意味着运行一个或多个来自单个较大应用的相同副本。你通常会配置 N 个服务器(物理或虚拟),每台服务器上会运行 M 个应用实例。单体应用的部署并不总是那么简单,但它比部署微服务应用要简单得多。 微服务应用由数十甚至上百个服务组成。服务使用不同的语言和框架编写。每个服务都是一个迷你应用,有自己特定的部署、资源、扩展和监视要求。例如,你需要根据服务的需求...转载 2019-12-12 16:09:20 · 2006 阅读 · 0 评论 -
系统高可用方案
一.系统设计相关1.扩展 扩展是最常见的提升系统可靠性的方法,系统的扩展可以避免单点故障,即一个节点出现了问题造成整个系统无法正常工作。换一个角度讲,一个容易扩展的系统,能够通过扩展来成倍的提升系统能力,轻松应对系统访问量的提升。一般地,扩展可以分为垂直扩展和水平扩展:1.垂直扩展:是在同一逻辑单元里添加资源从而满足系统处理能力上升的需求。比如,当机器内存不够时,我们可以帮...转载 2019-12-11 16:42:03 · 991 阅读 · 0 评论 -
微服务-降级、熔断
一.降级 当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或换种简单的方式处理,从而释放服务器资源以保证核心交易正常运作或高效运作。1.1 使用场景 服务降级主要用于什么场景呢?当整个微服务架构整体的负载超出了预设的上限阈值或即将到来的流量预计将会超过预设的阈值时,为了保证重要或基本的服务能正常运行,我们可以将一些不重要或不紧急的...翻译 2019-12-10 16:01:48 · 1047 阅读 · 0 评论 -
分布式锁的几种实现方式
一 介绍 目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数...转载 2019-12-09 15:40:50 · 144 阅读 · 0 评论 -
微服务-限流
一.介绍 互联网应用发展到今天,从单体应用架构到SOA以及今天的微服务,随着微服务化的不断升级进化,服务和服务之间的稳定性变得越来越重要,分布式系统之所以复杂,主要原因是分布式系统需要考虑到网络的延时和不可靠,微服务很重要的一个特质就是需要保证服务幂等,保证幂等性很重要的前提需要分布式锁控制并发,同时缓存、降级和限流是保护微服务系统运行稳定性的三大利器。 限流的目的...原创 2019-12-09 20:00:31 · 631 阅读 · 0 评论