运维
文章平均质量分 68
360linker
360linker技术社区的发起人,曾在多家头部互联网公司任职,致力于打造一个帮助我们实现高效技能提升的圈子,分享IT圈内技术、产品、运营、市场等信息。
展开
-
java分布式链路追踪;jvm应用监控-skywalking
当企业应用进入分布式微服务时代,应用服务依赖会越来越多,skywalking可以很好的解决服务调用链路追踪的问题,而且基于java探针技术,基本对应用零侵入零耦合。skywalking是什么,有什么用?Skywalking 是一个APM系统,即应用性能监控系统,为微服务架构和云原生架构系统设计。它通过探针自动收集所需的指标,并进行分布式追踪。通过这些调用链路以及指标,Skywalking APM会...原创 2018-04-24 11:12:19 · 7111 阅读 · 0 评论 -
终于有人把云计算、大数据和 AI 讲明白了
我今天要讲这三个话题,一个是云计算,一个大数据,一个人工智能,我为什么要讲这三个东西呢?因为这三个东西现在非常非常的火,它们之间好像互相有关系,一般谈云计算的时候也会提到大数据,谈人工智能的时候也会提大数据,谈人工智能的时候也会提云计算。所以说感觉他们又相辅相成不可分割,如果是非技术的人员来讲可能比较难理解说这三个之间的相互关系,所以有必要解释一下。 一、云计算最初是实现资源管理的灵活性...转载 2019-02-19 09:36:21 · 805 阅读 · 0 评论 -
5大数据库种类,如果你全部在实际项目中用过,绝对是大神!
数据是一个企业的核心资产,几乎所有的企业应用系统都是围绕数据来进行的,包括数据的增删改查,数据对企业,甚至国家来说,有着不可估量的价值,比如,一个企业的所有客户的信息,一个投资机构的投入和收益信息,BAT公司的应用系统的源代码,京东的物流配送信息等等。在数据积累中,虽然有些把数据作为文本文件来保存的,但大多数情况下,为了方便地管理和提取数据,一般都会采用数据库来积累数,随着技术的发展,业务需求的多...转载 2019-02-25 16:17:24 · 2759 阅读 · 0 评论 -
分布式数据库TiDB整体概述
一、分布式数据库诞生背景随着互联网的飞速发展,业务量可能在短短的时间内爆发式地增长,对应的数据量可能快速地从几百 GB 涨到几百个 TB,传统的单机数据库提供的服务,在系统的可扩展性、性价比方面已经不再适用。比如MySQL数据库,可以说绝大部分公司核心的数据都存储在 MySQL中。MySQL的优点不用多说,缺点是没法做到水平扩展。MySQL 要想能做到水平扩展,唯一的方法就业务层的分库分表或者...转载 2019-02-25 17:02:05 · 4944 阅读 · 0 评论 -
当你「ping 一下」的时候,你知道它背后的逻辑吗?
我们在遇到网络不通的情况,大家都知道去 ping 一下,看一下网络状况。那你知道「ping」命令后背的逻辑是什么吗?知道它是如何实现的吗?一、「ping」命令的作用和原理?简单来说,「ping」是用来探测本机与网络中另一主机之间是否可达的命令,如果两台主机之间ping不通,则表明这两台主机不能建立起连接。ping是定位网络通不通的一个重要手段。ping 命令是基于 ICMP 协议来...转载 2019-02-26 15:56:36 · 211 阅读 · 0 评论 -
程序员水平难判断?程序员的6大等级,赶紧对号入座吧!
程序员有年薪十万和年薪百万之分,为什么会这样?因为程序员的水平高低不一样,今天小编就来带大家看看程序员的水平高低以及程序员的级别吧。0不入流程序员哥写的不是程序,是BUG。1初级程序员初级程序员的定义是可以独立完成项目。能独立完成项目,就需要懂好多东西了。从业务的角度来说,要懂很多业务逻辑,能够理解并且抽象成模型转换成代码,要会测试,要会发布,要会改Bug,要懂版本管理,要知道代码...转载 2019-02-26 16:13:21 · 463 阅读 · 0 评论 -
如何设计一个百万级的消息推送系统
前言先简单说下本次的主题,由于我最近做的是物联网相关的开发工作,其中就不免会遇到和设备的交互。最主要的工作就是要有一个系统来支持设备的接入、向设备推送消息;同时还得满足大量设备接入的需求。所以本次分享的内容不但可以满足物联网领域同时还支持以下场景:基于 WEB 的聊天系统(点对点、群聊)。 WEB 应用中需求服务端推送的场景。 基于 SDK 的消息推送平台。技术选型要满足...转载 2019-04-11 14:31:41 · 1400 阅读 · 0 评论 -
Nginx 动静分离与负载均衡的实现
一、前提企业中,随着用户的增长,数据量也几乎成几何增长,数据越来越大,随之也就出现了各种应用的瓶颈问题。问题出现了,我们就得想办法解决,一般网站环境,均会使用LAMP或者LNMP,而我们对于网站环境的优化,除了对源代码进行优化、SQL慢查询优化 、SQL创建索引等之外,我们还可以对环境架构进行优化与扩展。因此,我们引入了 Nginx 对站点实现负载均衡和动静分离,来加快访问速度。二...转载 2019-04-11 14:44:53 · 294 阅读 · 0 评论 -
Nginx+Redis+Ehcache:大型高并发与高可用的三层缓存架构总结
对于高并发架构,毫无疑问缓存是最重要的一环,对于大量的高并发,可以采用三层缓存架构来实现nginx+redis+ehcache。Nginx对于中间件nginx常用来做流量的分发,同时nginx本身也有自己的缓存(容量有限),我们可以用来缓存热点数据,让用户的请求直接走缓存并返回,减少流向服务器的流量。1.模板引擎通常我们可以配合使用freemaker/velocity等模...转载 2019-04-11 14:46:34 · 375 阅读 · 0 评论 -
理解水平扩展和垂直扩展
当一个开发人员提升计算机系统负荷时,通常会考虑两种方式垂直扩展和水平扩展。选用哪种策略主要依赖于要解决的问题 以及系统资源的限制。在这篇文章中我们将讲述这两种策略并讨论每种策越的优缺点。如果你已经有一个软件系统需要不断成长,那么你将有意或者无意中选择这两 种策略中的一种。垂直扩展在垂直扩展模型中,想要增加系统负荷就意味着要在系统现有的部件上下工夫,即通过提高系统部件的能力来实现。例如,假设...转载 2019-04-12 10:31:12 · 989 阅读 · 0 评论 -
Java日志正确使用姿势
摘要:关于日志,在大家的印象中都是比较简单的,只须引入了相关依赖包,剩下的事情就是在项目中“尽情”的打印我们需要的信息了。但是往往越简单的东西越容易让我们忽视,从而导致一些不该有的bug发生,作为一名严谨的程序员,怎么能让这种事情发生呢?所以下面我们就来了解一下关于日志的那些正确使用姿势。前言关于日志,在大家的印象中都是比较简单的,只须引入了相关依赖包,剩下的事情就是在项目中“尽情”的打...转载 2019-05-08 09:11:34 · 163 阅读 · 0 评论 -
Sentinel 成为 Spring Cloud 官方推荐的主流熔断降级方案
摘要:近日,Sentinel 贡献的spring-cloud-circuitbreaker-sentinel模块正式被Spring Cloud社区合并至 Spring Cloud Circuit Breaker,由此,Sentinel 加入了 Spring Cloud Circuit Breaker 俱乐部,成为 Spring Cloud 官方的主流推荐选择之一。近日,Sentinel...转载 2019-05-08 09:13:49 · 472 阅读 · 0 评论 -
深度剖析什么是 SLI、SLO和SLA?
前言SLO和SLA是大家常见的两个名词:服务等级目标和服务等级协议。云计算时代,各大云服务提供商都发布有自己服务的SLA条款,比如Amazon的EC2和S3服务都有相应的SLA条款。这些大公司的SLA看上去如此的高达上,一般是怎么定义出来的呢?本文就尝试从技术角度解剖一下SLA的制定过程。说SLA不能不提SLO,这个是众所周知的,但是还有一个概念知道的人就不多了,那就是SLI(Serv...转载 2019-06-19 15:41:53 · 30763 阅读 · 1 评论 -
Nginx 相关介绍(Nginx是什么?能干嘛?)
Nginx的产生没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器。基于REST架构风格,以统一资源描述符(Uniform Resources Identifier)URI或者统一资源定位符(Uniform Resources Locator)URL作为沟通依据,通过HTTP协议提供各种网络服务。然而,这些服务器在设计之初受到当时环...转载 2019-02-24 13:35:58 · 104 阅读 · 0 评论 -
ArangoDB 界面介绍
目录:安装并运行本地ArangoDB服务器 使用Web界面与之交互 BASHBOARD COLLECTIONS QUERIES GRAPHS SERVICES USERS LOGS 安装:下载地址:https://arangodb.com/download 如果在L...转载 2019-02-27 14:50:48 · 794 阅读 · 0 评论 -
Fiddler 抓包工具总结
序章Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。也可以用来检测网络安全。反正好处多多,举之不尽呀!当年学习的时候也蛮费劲,一些蛮实用隐藏的小功能用了之后就忘记了,每次去网站上找也很麻烦,所以搜集各大网络的资料,总结了一些常用的功能。 Fiddler 下载地址 :https://www.telerik.com/download/...转载 2019-01-29 14:40:30 · 261 阅读 · 0 评论 -
记一次真实的网站被黑经历
前言距离上次被DDOS×××已经有10天左右的时间,距离上上次已经记不起具体那一天了,每一次都这么不了了只。然而近期一次相对持久的×××,我觉得有必要静下心来,分享一下被黑的那段经历。在叙述经历之前,先简单的介绍一下服务器配置情况:ECS 1核2G内存1MB带宽,Linux系统RDS 2核240MB内存,最大连接数60Redis 256MB共享实例,搬家之后没用到CDN 按量付费,缓存小文件以上配...转载 2018-06-25 15:07:35 · 348 阅读 · 0 评论 -
一些小团队的自动化运维实践经验
题记: 幸福的家庭都是相似的 不幸的家庭各有各的不幸行业内各巨头的自动化运维架构都各种功能各种酷炫,如下图,让人可望不可及。现在最终的样子大家都知道了,但问题是如何根据自己团队当前的情况一步步向那个目标演进?笔者所在团队,三个半开发,要维护几十台云机器,部署了十来个应用,这些应用90%都是遗留系统。应用系统的编译打包基本在程序员自己的电脑上。分支管理也清一色的 dev 分支开发,测试通过后,再合并...转载 2018-06-20 15:00:23 · 413 阅读 · 1 评论 -
Ansible 运维自动化 ( 配置管理工具 )
简介:当下有许多的运维自动化工具( 配置管理 ),例如:Ansible、SaltStack、Puppet、Fabric 等。Ansible 一种集成 IT 系统的配置管理、应用部署、执行特定任务的开源平台,是 AnsibleWorks 公司名下的项目,该公司由 Cobbler 及 Func 的作者于 2012 年创建成立。Ansible 基于 Python 语言实现,由 Paramiko 和 Py...转载 2018-07-10 18:32:51 · 369 阅读 · 0 评论 -
CI/CD持续集成/持续部署 敏捷开发
敏捷软件开发(英语:Agile software development),又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适...转载 2018-07-10 18:48:02 · 217 阅读 · 0 评论 -
性能测试各性能指标
一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间 QPS(TPS):每秒钟request/事务 数量 并发数: 系统同时处理的request/事务数 ...转载 2018-07-11 18:21:26 · 3807 阅读 · 0 评论 -
运维自动化-Ansible
前言天天说运维,究竟是干什么的?先看看工作流程呗。一般来说,运维工程师在一家企业里属于个位数的岗位,甚至只有一个。面对生产中NNN台服务器,NN个人员,工作量也是非常大的。所以嘛,图中的我好歹也会配置盔甲的。这就是我主要干的事情(呵呵)就算你会很厉害的脚本,面对成百上千,甚至上万的主机,效率问题将会困扰你的。因此,有没有解放的工具呢?Ansible 是什么Ansible 简单的说是一个配置管理系统...转载 2018-07-12 07:34:48 · 367 阅读 · 0 评论 -
nginx负载均衡的五种算法
目录1.round robin(默认) 2.weight 3. IP_hash 4.url_hash(第三方) 5. fair(第三方) 正文 1.round robin(默认)轮询方式,依次将请求分配到各个后台服务器中,默认的负载均衡方式。 适用于后台机器性能一致的情况。 挂掉的机器可以自动从服务列表中剔除。 2.weight根据权重来分发请求到不同...转载 2018-12-10 17:54:32 · 153 阅读 · 0 评论 -
nginx配置文件nginx.conf超详细讲解
#nginx进程,一般设置为和cpu核数一样worker_processes 4; #错误日志存放目录 error_log /data1/logs/error.log crit; #运行用户,默认即是nginx,可不设置user nginx #进程pid存放位置pid /application/nginx/...转载 2019-01-17 20:35:31 · 207 阅读 · 0 评论 -
Java编程中“为了性能”尽量要做到的一些地方
最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。 下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。 1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适...转载 2019-01-17 20:57:20 · 149 阅读 · 1 评论 -
百亿大表任意维度查询,如何做到毫秒级返回?
随着闲鱼业务的发展,用户规模达到数亿级,用户维度的数据指标,达到上百个之多。如何从亿级别的数据中,快速筛选出符合期望的用户人群,进行精细化人群运营,是技术需要解决的问题。业界的很多方案常常需要分钟级甚至小时级才能生成查询结果。本文提供了一种解决大数据场景下的高效数据筛选、统计和分析方法,从亿级别数据中,任意组合查询条件,筛选需要的数据,做到毫秒级返回。技术选型分析从技术角度分析...转载 2019-01-07 20:27:35 · 1393 阅读 · 0 评论 -
面试必备指南:你的系统如何支撑高并发?
这篇文章,我们聊聊大量同学问我的一个问题,面试的时候被问到一个让人特别手足无措的问题:你的系统如何支撑高并发?一道面试题的背景引入大多数同学被问到这个问题压根儿没什么思路去回答,不知道从什么地方说起,其实本质就是没经历过一些真正有高并发系统的锤炼罢了。因为没有过相关的项目经历,所以就没法从真实的自身体会和经验中提炼出一套回答,然后系统的阐述出来自己负责过的系统如何支撑高并发的。...转载 2019-01-24 10:32:53 · 492 阅读 · 0 评论 -
搭建大众点评CAT监控平台
CAT(Central Application Tracking)是基于Java开发的实时应用监控平台,包括实时应用监控,业务监控。关于CAT的具体介绍可移步到CAT官网进行查阅。1. 环境清单CentOS 7 Java 8 Maven 3.5 MySQL 5.7 CAT 2.0.0 Tomcat 7.02. 安装 CAT下载CAT安装包: 1 # ...转载 2019-02-15 09:09:44 · 530 阅读 · 0 评论 -
redis渐进式rehash机制
在Redis中,键值对(Key-Value Pair)存储方式是由字典(Dict)保存的,而字典底层是通过哈希表来实现的。通过哈希表中的节点保存字典中的键值对。我们知道当HashMap中由于Hash冲突(负载因子)超过某个阈值时,出于链表性能的考虑,会进行Resize的操作。Redis也一样。在redis的具体实现中,使用了一种叫做渐进式哈希(rehashing)的机制来提高字典的缩放效率,避...转载 2019-06-26 09:51:28 · 5303 阅读 · 8 评论