系统日志

消息队列常见的几种使用场景介绍

倾然丶 夕夏残阳落幕 提交于 2020-03-17 21:29:31
某厂面试归来,发现自己落伍了!>>> 一、简介 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能、高可用 、 可伸缩和最终一致性架构。使用较多的消息队列有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ。 二、消息队列应用场景 以下介绍消息队列在实际应用中常用的使用场景:异步处理,应用解耦,流量削锋和消息通讯四个场景。 1、异步处理 场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种:串行的方式和并行方式。 串行方式 :将注册信息写入数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户。 并行方式 :将注册信息写入数据库成功后,发送注册邮件的同时,发送注册短信。以上三个任务完成后,返回给客户端。与串行的差别是,并行的方式可以提高处理的时间。 假设三个业务节点每个使用50毫秒钟,不考虑网络等其他开销,则串行方式的时间是150毫秒,并行的时间可能是100毫秒。 因为CPU在单位时间内处理的请求数是一定的,假设CPU1秒内吞吐量是100次。则串行方式1秒内CPU可处理的请求量是7次(1000/150)。并行方式处理的请求量是10次(1000/100)。 小结 :如以上案例描述,传统的方式系统的性能(并发量,吞吐量,响应时间)会有瓶颈。如何解决这个问题呢?

关于日志记录的一些感想

北慕城南 提交于 2020-03-16 08:52:07
刚刚我们组的产品经理和法务部的同事找我,说公司正在和某个客户打官司。为了反驳客户的某一些说辞,需要我帮忙找一找某个客户的某一份合同文件的操作日志。也就是: 需要确定就是这个客户在某一天的某个时间进入我们的某个系统进行了「合同签署」这个操作 事后我想了一下,里面确实有很多我们平时设计系统,实现系统功能时需要注意的一些点,所以我基于我目前的眼界和经验,总结一下,希望对大家有所帮助,争取不浪费读者朋友们的宝贵的时间。 日志的输出 我觉的最基本的但是也是最重要的事情就是日志的输出。因为没有日志输出也就没有下面要说的「存储收集」和「查询展示」了。 我不确定读者所在的格式是否有 日志规范 ,我觉的有一份好的日志规范还是很重要的,但是最重要的还是有效的执行下去。 统一日志框架 Java里存在众多的开源日志框架,比如: slf4j, logback, log4j, JCL(Apache Common Logging), JUL(JDK自带的java.util.logging) 。 我一般都采用 SLF4J 这个框架,因为它的API很简洁。其实它并不包含日志的实现,而仅仅是提供了众多的适配器来适配其他所有开源的日志框架,这就使得我们在代码中只需要面对SLF4J的API,然后可以任意的切换实现。 也许你们并不需要切换日志框架的实现这个功能,但往往我们的项目都会依赖很多的第三方的开源框架

大型网站架构之分布式消息队列

北城余情 提交于 2020-03-14 13:15:45
以下是消息队列以下的大纲,本文主要介绍消息队列概述,消息队列应用场景和消息中间件示例(电商,日志系统)。 本次分享大纲 消息队列概述 消息队列应用场景 消息中间件示例 JMS消息服务 常用消息队列 参考(推荐)资料 本次分享总结 一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。 目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。 二、消息队列应用场景 以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景。 2.1异步处理 场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种1.串行的方式;2.并行方式。 (1)串行方式:将注册信息写入数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户端。(架构KKQ:466097527,欢迎加入) (2)并行方式:将注册信息写入数据库成功后,发送注册邮件的同时,发送注册短信。以上三个任务完成后,返回给客户端。与串行的差别是,并行的方式可以提高处理的时间。 假设三个业务节点每个使用50毫秒钟,不考虑网络等其他开销,则串行方式的时间是150毫秒

非常实用的Linux 系统监控工具

我只是一个虾纸丫 提交于 2020-03-14 06:15:48
随着互联网行业的不断发展,各种监控工具多得不可胜数。这里列出网上最全的监控工具。让你可以拥有超过80种方式来管理你的机器。在本文中,我们主要包括以下方面: 命令行工具 网络相关内容 系统相关的监控工具 日志监控工具 基础设施监控工具 监控和调试性能问题是一个艰巨的任务,但用对了正确的工具有时也是很容易的。下面是一些你可能听说过的工具,也有可能没有听说过——何不赶快开始试试? 八大系统监控工具 1. top 这是一个被预装在许多 UNIX 系统中的小工具。当你想要查看在系统中运行的进程或线程时:top 是一个很好的工具。你可以对这些进程以不同的方式进行排序,默认是以 CPU 进行排序的。 2. htop htop 实质上是 top 的一个增强版本。它更容易对进程排序。它看起来上更容易理解,并且已经内建了许多通用操作。它也是完全交互式的。 3. atop atop 和 top,htop 非常相似,它也能监控所有进程,但不同于 top 和 htop 的是,它可以按日记录进程的日志供以后分析。它也能显示所有进程的资源消耗。它还会高亮显示已经达到临界负载的资源。 4. apachetop apachetop 会监控 apache 网络服务器的整体性能。它主要是基于 mytop。它会显示当前的读取进程、写入进程的数量以及请求进程的总数。 5. ftptop ftptop

ELK日志收集系统

女生的网名这么多〃 提交于 2020-03-12 14:52:38
ELK日志收集系统 一:软件包下载地址 二:环境准备 三:kibana安装与配置 四:安装nginx 五:filebeat安装配置 5.1 配置filebeat收集nginx日志 5.2 kibana设置 一:软件包下载地址 本文所需要所有软件包下载地址: 链接:https : // pan . baidu . com / s / 1J2rbPZkWEfg_M8k3W8jQPQ 提取码:x3i9 二:环境准备 Elasticsearch的安装见: Elasticsearch集群 IP 系统 硬件配置 软件部署 172.17.2.239 CentOS7.4 2 CPU, 4G MEM elasticsearch6.6.0,kibana6.6.0,nginx,filebeat 172.17.2.240 CentOS7.4 2 CPU, 4G MEM nginx,filebeat 三:kibana安装与配置 [ root@node01 tools ] # yum localinstall -y kibana-6.6.0-x86_64.rpm kibana配置文件: [ root@node01 kibana ] # grep '^[a-z]' /etc/kibana/kibana.yml server . port : 5601 server . host : "172.17.2.239"

app测试面试题

巧了我就是萌 提交于 2020-03-09 11:21:42
app测试面试题 前言 现在面试个测试岗位,都是要求全能的,web、接口、app啥都要会测,那么APP测试一般需要哪些技能呢? 面试app测试岗位会被问到哪些问题,怎样让面试管觉得你对APP测试很精通的样子? 本篇总结了app测试面试时候经常被问的10个相关问题 1.什么是activity? 2.Activity生命周期? 3.Android四大组件? 4.app测试和web测试有什么区别? 5.android和ios测试区别? 6.app出现ANR,是什么原因导致的? 7.App出现crash原因有哪些? 8.app对于不稳定偶然出现anr和crash时候你是怎么处理的? 9.app的日志如何抓取? 10.你平常会看日志吗, 一般会出现哪些异常(Exception)? 1.什么是activity 什么是activity,这个前两年出去面试APP测试岗位,估计问的最多了,特别是一些大厂,先问你是不是做过APP测试,那好,你说说什么是activity? 如果没看过android的开发原理,估计这个很难回答,要是第一个问题就被难住了,面试的信心也会失去一半了,士气大减。 Activity是Android的四大组件之一,也是平时我们用到最多的一个组件,可以用来显示View。 官方的说法是Activity一个应用程序的组件,它提供一个屏幕来与用户交互,以便做一些诸如打电话

OSSIM架构与组成综述

瘦欲@ 提交于 2020-03-09 10:11:28
OSSIM架构与组成综述 OSSIM布道师 李晨光 一、背景 如果运维工程师手里没有高效的管理工具支持,就很难快速处理故障。市面上有很多运维监控工具,例如商业版的 Solarwinds、ManageEngine以及WhatsUp等,开源的MRTG、Nagios、Cacti、Zabbix、OpenNMS、Ganglia等。 由于它们彼此之间所生成的数据没有关联,无法共享,即便部署了这些工具,很多运维人员并没有从中真正解脱出来,成千上万条警告信息堆积在一起,很难识别问题的根源,结果被海量日志所淹没,无法解脱出来。 另外在传统运维环境中,当查看各种监控系统时需要多次登录,查看繁多的界面,更新管理绝大多数工作主要是手工操作,即使一个简单的系统变更,需要运维人员逐一登录系统,若遇到问题,管理员便会在各种平台间来回查询,或靠人肉方式搜索故障关键词,不断的重复着这种工作方式。企业需要一种集成安全的运维平台,满足专业化、标准化和流程化的需要来实现运维工作的自动化管理,通过关联分析及时发现故障隐患,这种优秀的开源平台叫做OSSIM即开源安全信息管理系统(Open source Security Information Management),下面让我们认识一下OSSIM的基本结构和组成 从架构上来看,OSSIM系统是一个开放的框架,它的核心价值在于创新的集成各开源软件之所长,它里面的模块既有C

高性能MySQL之基础架构

喜欢而已 提交于 2020-03-08 12:22:45
原文: 高性能MySQL之基础架构 一、背景 当你手中抓住一件东西不放时,你只能拥有一件东西,如果你肯放手,你就有机会选择更多。与其在别人的生活里跑龙套,不如精彩做自己。人无所舍,必无所成。跌倒了,失去了,不要紧,爬起来继续风雨兼程,且歌且行。 为什么我们需要先学习MYSQL的基础架构先呢? 原因很简单,当我们需要了解一件事物的时候,我们只有站在宏观的层面,才能层层剥丝抽茧的去理解问题。举个例子,我们要看一个框架的源码,一开始就想进去研究,却发现找不着北,原因很简单,因为我们没有鸟瞰全貌,我们根本不知道入口在哪里。因此我们学习MYSQL的时候也是这样。先从高纬度理解问题,最后看到里面有哪些组件,一层层的拆解,这样让我们对mysql有更深入的理解。废话不多说,我们先看总体的逻辑架构图,如下所示。 二、Mysql总体逻辑架构 从图中不难看出,不同的存储引擎共用一个Server层,也就是从连接器到执行器的部分。可以看到Server层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如触发器、视图等。 需要主意的是存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持InnoDB、MyISAM、Memory等多个存储引擎。现在最常用的存储引擎是InnoDB

Linux 之 rsyslog 系统日志转发

安稳与你 提交于 2020-03-05 12:37:58
一、rsyslog 介绍   ryslog 是一个快速处理收集系统日志的程序,提供了高性能、安全功能和模块化设计。rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍,现在可以处理100万条信息。   特性:1.多线程      2.支持加密协议:ssl,tls,relp      3.mysql、oracle、postgreSQL      4.等等.. 二、实践部署() 2.1 环境图    2.2.rsyslog server上部署操作 安装rsyslog 程序(rsyslog默认已经在各发行版安装,如果系统中没有的话,可以用yum 进行安装,如下:) [root@opm ~]# yum install rsyslog -y 编辑rsyslog配置文件,路径 /etc/rsyslog.conf,修改前最好先备份一份,修改后的文件内容如下 [root@opm log]# grep -v "^#" /etc/rsyslog.conf | grep -v "^$" $ModLoad imuxsock # provides support for local system logging (e.g. via logger command) $ModLoad imjournal # provides access to the systemd

【开源】OSharp3.0框架解说系列:新版本说明及新功能规划预览

青春壹個敷衍的年華 提交于 2020-03-03 16:59:24
OSharp是什么?   OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现。与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现。依赖注入、ORM、对象映射、日志、缓存等等功能,都只定义了一套最基础最通用的抽象封装,提供了一套统一的API、约定与规则,并定义了部分执行流程,主要是让项目在一定的规范下进行开发。所有的功能实现端,都是通过现有的成熟的第三方组件来实现的,除了EntityFramework之外,所有的第三方实现都可以轻松的替换成另一种第三方实现,OSharp框架正是要起隔离作用,保证这种变更不会对业务代码造成影响,使用统一的API来进行业务实现,解除与第三方实现的耦合,保持业务代码的规范与稳定。 本文已同步到系列目录: OSharp快速开发框架解说系列 OSharp3.0介绍   经过最近一段时间的努力,OSharp3.0新增了不少功能,如框架初始化流程,多数据库多上下文的支持,分类日志记录等,包含功能权限与数据权限的权限系统正在设计当中,基于实体配置的缓存系统,在计划当中。 与OSharp2.0对比   与OSharp2.0对比,OSharp3.0做了一些改变,除了OSharp.Utility,OSharp.Web.Client这两个通用的类库外,OSharp3.0的其他类库,都去除了对.net 4