-
今日头条Go语言构建日请求千亿级微服务的最佳实践
编者按 作者介绍:项超,2015 年加入今日头条,负责研发微服务框架,实施微服务落地。在头条推广 Go 语言在 Web 后端服务的使用,逐渐经历了核心服务从 Python 到 Go 的演变过程,为爆发式的流量增长提供了持续的动力。从 Go1.1 版本开始使用 Go 语言,喜欢 Go 语言的工程性,并且认为 Go 语言非常适合开发大规模分布式系统。 Go 在 2016 年获得了年度编程语言的称号,或…- 65
- 0
-
nginx反向代理,负载均衡,redis session共享,keepalived高可用
使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换。 tomcat服务器两台,由nginx进行反向代理和负载均衡,此处可搭建服务器集群。 redis服务器一台,用于session的分离共享。 nginx主服务器:192.168.50.133 nginx备服务器:192.168.50.135 tomcat项目服务器1:192.168.50.137 to…- 23
- 0
-
大型网站图片服务器架构的演进!
在主流的Web站点中,图片往往是不可或缺的页面元素,尤其在大型网站中,几乎都将面临“海量图片资源”的存储、访问等相关技术问题。在针对图片服务器的架构扩展中,也会历经很多曲折甚至是血泪教训, 尤其是早期规划不足,造成后期架构上很难兼容和扩展 。 本文将以一个真实垂直门户网站的发展历程,向大家娓娓道来。 构建在Windows平台之上的网站,往往会被业内众多技术认为很“保守”,甚至会有点。很大部分原因,…- 20
- 0
-
微服务架构核心技术五
微服务的组织架构 传统企业组织团队为左边图,严格按照职能划分团队.沟通协调成本大,产品的反馈周期长,研发效率慢. 平台型互联网公司组织团队内部形成端到端闭环,开发、测试、项目经理都有.运维对外开放API供所有团队使用.一个团队12个人左右.(亚马逊提出build it/run it).优势是可以快速迭代.- 0
- 0
-
DevOps GitLab CICD 实践3——CI文件编写
前置步骤: DevOps GitLab CICD 实践1——GitLab 部署 DevOps GitLab CICD 实践2——Runner 部署 官方文档 编写结构类似Jenkins pineline流水线 GitLab CI/CD Pipeline Configuration Reference GitLab CI/CD Pipeline Configuration Reference Git…- 20
- 0
-
带你玩转kubernetes-k8s(第56篇-Kubernetes之Kubernetes资源管理)
本节先讲解Pod的两个重要参数:CPU Request与Memory Request。在大多数情况下,我们在定义Pod时并没有定义这两个参数,此时Kubernetes会认为该Pod所需的资源很少,并可以将其调度到任何可用的Node上。这样一来,当集群中的计算资源不很充足时,如果集群中的Pod负载突然加大,就会使某个Node的资源严重不足。 为了避免系统挂掉,该Node会选择“清理”某些Pod来释放…- 17
- 0
-
DevOps基础-6.1-可靠性工程:工程不应止步于部署
这篇开始进入第六章,第一小节是可靠性工程。这是DevOps中的第三个主要练习区域。在工程中,可靠性描述了系统或组件在规定条件下在指定时间段内运行的能力。 在IT中,这包括可用性,性能,安全性以及允许您的服务实际向用户提供其功能的所有其他因素。 在任何一种管理良好的现代化基础设施中,基础设施造成的停电和生产问题越来越少见。一旦您通过最基本的系统自动化,可以毫不夸张地说,…- 1
- 0
-
带你玩转kubernetes-k8s(第55篇-Kubernetes之Kubernetes集群管理)
Node的管理 Node的隔离与恢复 在硬件升级、硬件维护等情况下,我们需要将某些Node隔离,使其脱离Kubernetes集群的调度范围。Kubernetes提供了一种机制,既可以将Node纳入调度范围,也可以将Node脱离调度范围。 创建配置文件unschedule_node.yaml,在spec部分指定unschedulable为true: 1apiVersion: v1 2kind: No…- 9
- 0
-
DevOps – 与敏捷方法区别
章节 DevOps – 为什么 DevOps – 与传统方式区别 DevOps – 优势 DevOps – 不适用 DevOps – 生命周期 DevOps – 与敏捷方法区别 DevOps – 实施原则 DevOps – 工程师职责 DevOps – 自动化工具 DevOps – 总结 DevOps方法与敏捷方法的侧重点是不同的。 一个典型的软件开发各方合作过程,如下图所示: 敏捷方法解决客户和…- 2
- 0
-
带你玩转kubernetes-k8s(第52篇-Kubernetes开发指南)
本章将引入REST的概念,详细说明Kubernetes API的概念和使用方法,并举例说明如何基于Jersey和Fabric8框架访问Kubernetes API,深入分析基于这两个框架访问Kubernetes API的优缺点,最后对Kubernetes API的扩展进行详细说明。下面从REST开始说起。 REST简述 REST(Representational State Tran…- 22
- 0
-
DevOps基础-4.1-基础架构自动化:基础设施即代码
这篇开始学习第四章,第四章主要阐述基础架构自动化这个话题。 在IT系统管理领域,自动化技术并不是新的,但DevOps提升到了完全不同的自动化水平。我们将此称为基础设施即代码。 这是一种完全编程的基础架构方法,使我们能够利用我们系统的开发实践。 分裂Dev和Ops驱动器的一个影响是,一个团队的最佳实践确实没有传递到另一个团队。是的,一个简单的例子是使用源代码控制。 一个没…- 6
- 0
-
DevOps 工程师成长日记系列一:必备知识与技能组合
写在前面 据 StackOverflow 2019 开发者调研结果公布:DevOps 专家的薪水仅次于研发管理者以及 SRE,位居第三: 数据来源:https://insights.stackoverflow.com/survey/2019 从 DevOps 专家的热门度来看,越来越多的企业意识到需要将 DevOps 从口头落地到日常研发流程中,实实在在给企业带来研发效能上的收益。在这场无声变革当…- 4
- 0
-
带你玩转kubernetes-k8s(第63篇-Kubernetes之集群统一日志管理)
在Kubernetes集群环境中,一个完整的应用或服务都会涉及为数众多的组件运行,各组件所在的Node及实例数量都是可变的。日志子系统如果不做集中化管理,则会给系统的运维支撑造成很大的困难,因此有必要在集群层面对日志进行统一收集和检索等工作。 在容器中输出到控制台的日志,都会以*-json.log的命名方式保存在/var/lib/docker/containers/目录下,这就为日志采集和后续处理…- 34
- 0
-
DevOps基础-3.1-DevOps组件:敏捷
开始介绍第三章内容,第三章主要讲DevOps的几个组件或者叫概念。在本章中,我们想与你讨论与DevOps相关的一些主要概念:敏捷,精益和itope。本小节与Agile相关,与DevOps相关。 Patrick Dubois和Andrew Clayshafer参加了多伦多的Agile 2008大会。在会议上,Andrew提出了一个关于敏捷基础设施的会议。Patrick是唯一到场出席的。他们…- 2
- 0
-
带你玩转kubernetes-k8s(第40篇:深入分析集群安全机制三[Admission Control, Service Account])
Adminssion Control 突破了之前所说的认证和鉴权两道关卡之后,客户端的调用请求就能够得到API Server的真正响应了吗?答案是:不能!这个请求还需要通过Admission Control(准入控制)所控制的一个准入控制链的层层考验,才能获得成功的响应。Kubernetes官方标准的“关卡”有30多个,还允许用户自定义扩展。 Admission Control配备了…- 21
- 0
-
DevOps基础-2.1-IT组织面临的风暴
本篇开始学习DevOps基础的第二张,第一章4篇文章介绍了什么DevOps的概述。可以肯定的是,你对DevOps依然没有一个明确的概念定义,但是有一些懵懂的概念。从顶层思想上对DevOps有了一个理解。就好像,即使你学习完了本系列的所有DevOps基础课程,你依然不是一个DevOps从业人员,因为你没有实战过。 我敢肯定,一般而言,IT部门并不是业务中最受欢迎的部分。 几十年来,企业一直在使用技术…- 2
- 0
-
带你玩转kubernetes-k8s(第一篇:k8s kubeadm的安装)
这是我第一次下决心写一个完整的专栏,以后每周晚上12点之前为大家更新相关内容。相信来看这篇文章的朋友们都是有运维相关经验的朋友。 言规正传,我们看接下来的内容;本人不打算一上来就讲解一大堆的概念,这样会使各位朋友看着很累,看得云里雾里的,摸不着头脑,第一天我就先带领大家把k8s的环境搭建起来。 一、环境准备及角色规 …- 6
- 0
-
01 前言/基础设施 – DevOps之路
01 前言/基础设施 - DevOps之路 文章Github地址,欢迎start:https://github.com/li-keli/DevOps-WiKi 简介 基础架构采用DevOps设计思想,进行可持续、快速的交付开发模式,推行开发运维一体化,线上问题,开发团队为第一响应。 1实验资源:3台 CentOS7 物理机(node01、node02、node03) 2 文档按照我的实际架构设计结…- 1
- 0
-
Docker与Kubernetes系列(一): Docker的基本概念
这是本系列的第一篇文章, 将简单介绍什么是Docker以及Docker的一些基本用法。 一、什么是Docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup, namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因…- 2
- 0
-
基于docker、kubernetes部署openstack到atomic系统上
基于docker、kubernetes部署openstack到atomic系统上 openstack的服务定义,是不是看起来很简洁? openstack的实际组件构成,是不是看起来很复杂? 所有的openstack服务彼此依赖,带来了服务生命周期管理的复杂性和低效。 比如openstack的鉴权服务keystone,在已有环境上部署一个新的keystone是否会对其他服务带来兼容性问题 是很难判断…- 11
- 0
-
【下一代核心技术DevOps】:(六)Rancher集中存储及相关应用
1. 前言 为什么要使用集中存储? 使用集中存储有个很大的优势是数据安全和统一管理,和集群完美配合。 产品集成存储经历过几个阶段: 1.单机本机存储。 系统使用本地硬盘存储 2.单网络集中存储。 局域网主机使用同一网络内的磁盘阵列存储单元 3.分布式集群本地存储。 集群节点使用自己本地硬盘存储。 4.分布式集群集中存储。集群节点使用集中存储(其背后可以是单一存储也可以是分布式存储,…- 10
- 0
-
Kubernetes之(二)核⼼技术概念和API对象
目录 Kubernetes之(二)核⼼技术概念和API对象 Pod 副本控制器(Replication Controller,RC) 副本集(Replica Set,RS) 部署(Deployment) 服务(Service) 任务(Job) 后台⽀撑服务集(DaemonSet) 有状态服务集(StatefulSet) 存储卷(Volume) 持久存储卷(Persistent Volume,PV)…- 2
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!