更新于:09-21 09:10

有关[技术]标签推荐

Redis 的 KEYS 命令引起 RDS 数据库雪崩,宕机 2 次,造成几百万损失

于09-22 22:23 - 伯小乐 - IT技术 Redis
最近的互联网线上事故发生比较频繁, 9月19日网上爆料出顺丰近期发生了一起线上删库事件,在这里就不介绍了. 在这里讲述一下最近发生在我公司的事故,以及如何避免,并且如何处理优化. 该宕机的直接原因是使用 Redis 的 . keys * 命令引起的,一共造成了某个服务化项目的两次宕机. 间接原因还有很多,技术跟不上业务的发展,由每日百万量到千万级是一个大的跨进,公司对于系统优化的处理优先级不高,技术开发人手的短缺.

Java 内存溢出排查

于09-17 09:55 - TiuVe2 - 基础技术 内存管理 排错
Java OOM 毫无疑问是开发人员常见并且及其痛恨的问题,但是任何服务的开发都没法避免 OOM. 因此,OOM 的排查及定位是每个 Java 工程师都必备的技能. 在使用 scala 开发的一个 web 服务,在用户使用中,经常出现:  java.lang.OutOfMemoryError: Java heap space .

前端异常监控解决方案研究

于09-13 19:00 - frustigor - 技术研发 前端异常 前端监控 异常监控
前端监控包括行为监控、 异常监控、性能监控等,本文主要讨论异常监控. 对于前端而言,和后端处于同一个监控系统中,前端有自己的监控方案,后端也有自己等监控方案,但两者并不分离,因为一个用户在操作应用过程中如果出现异常,有可能是前端引起,也有可能是后端引起,需要有一个机制,将前后端串联起来,使监控本身统一于监控系统.

图像主题色提取算法

于09-12 17:32 - 恒心 - IT技术 算法
许多从自然场景中拍摄的图像,其色彩分布上会给人一种和谐、一致的感觉;反过来,在许多界面设计应用中,我们也希望选择的颜色可以达到这样的效果,但对一般人来说却并不那么容易,这属于色彩心理学的范畴(当然不是指某些伪神棍所谓的那种). 从彩色图像中提取其中的主题颜色,不仅可以用于色彩设计(参考网站: Design Seeds),也可用于图像分类、搜索、识别等,本文分别总结并实现图像主题颜色提取的几种算法,包括颜色量化法(Color Quantization)、聚类(Clustering)和颜色建模的方法(颜色建模法仅作总结),源码可见: GitHub: ImageColorTheme.

Linux 查看进程消耗内存情况总结

于09-10 22:07 - TiuVe2 - 基础技术 Linux 内存管理
在Linux中,有很多命令或工具查看内存使用情况,今天我们来看看如何查看进程消耗、占用的内存情况,Linux的内存管理和相关概念要比Windows复杂一些. 在此之前,我们需要了解一下Linux系统下面有关内存的专用名词和专业术语概念: . 物理内存:就是系统硬件提供的内存大小,是真正的内存,一般叫做内存条.

闲聊 Flutter

于08-27 12:10 - bang - 技术文章
移动端开发从08年开始就有个大家前赴后继不断追求的目标:跨平台,15年时 nwind 有篇 雄文,详细调研了跨平台各流派,其中最后的 Dart 栏可以看到现在 Flutter 的雏形. 可以看出来,Flutter 是从精简浏览器的思路演化过来的,实际上 web 与 Flutter 从底层看是一致的,web 是提供了一层平台无关的独立引擎,可以看成平台只提供了画布,所有的UI组件、框架、事件处理都是 web 引擎封装处理.

在 Linux 上用 DNS 实现简单的负载均衡

于06-25 22:02 - 十七树 - IT技术 Linux
DNS 轮询将多个服务器映射到同一个主机名,并没有为这里展示的魔法做更多的工作. 如果你的后端服务器是由多台服务器构成的,比如集群化或者镜像的 Web 或者文件服务器,通过负载均衡器提供了单一的入口点. 业务繁忙的大型电商在高端负载均衡器上花费了大量的资金,用它来执行各种各样的任务:代理、缓存、状况检查、SSL 处理、可配置的优先级、流量整形等很多任务.

程序员练级攻略(2018) 与我的专栏

于05-29 12:38 - 陈皓 - 技术读物 杂项资源 C++ Java Javascript
写极客时间8个月了,我的专栏现在有一定的积累了,今天想自己推荐一下. 因为最新的系列《程序员练级攻略(2018)版》正在连载中,而且文章积累量到了我也有比较足的自信向大家推荐我的这个专栏了. 推荐就从最新的这一系统的文章开始. 2011年,我在 CoolShell 上发表了 《 程序员技术练级攻略》一文,得到了很多人的好评(转载的不算,在我的网站上都有近1000W的访问量了).

Service Mesh 及其主流开源实现解析

于05-16 19:56 - TiuVe2 - 基础技术 service mesh
什么是 Service mesh. Service Mesh 直译过来是  服务网格,目的是解决系统架构微服务化后的服务间通信和治理问题. 服务网格由 sidecar 节点组成. 在介绍 service mesh 之前,我们先来看一下什么是 sidecar.. Sidecar 在软件系统架构中特指 边车模式.

spring-cloud服务网关中的Timeout设置

于04-28 11:15 - TiuVe2 - 基础技术 Spring Cloud timeout
大家在初次使用spring-cloud的gateway的时候,肯定会被里面各种的Timeout搞得晕头转向. hytrix有设置,ribbon也有. 我们一开始也是乱设一桶,Github上各种项目里也没几个设置正确的. 对Timeout的研究源于一次log中的warning. The Hystrix timeout of 60000 ms for the command “foo” is set lower than the combination of the Ribbon read and connect timeout, 200000ms..

spring-cloud中zuul的两种隔离机制实验

于04-22 19:09 - TiuVe2 - 基础技术 Spring Cloud zuul
ZuulException REJECTED_SEMAPHORE_EXECUTION 是一个最近在性能测试中经常遇到的异常. 查询资料发现是因为zuul默认每个路由直接用信号量做隔离,并且默认值是100,也就是当一个路由请求的信号量高于100那么就拒绝服务了,返回500. 既然默认值太小,那么就在gateway的配置提高各个路由的信号量再实验.

从Spring-Session源码看Session机制的实现细节

于04-20 22:52 - - 技术杂记 转载 Spring Session
去年我曾经写过几篇和 Spring Session 相关的文章,从一个未接触过 Spring Session 的初学者视角介绍了 Spring Session 如何上手,如果你未接触过 Spring Session,推荐先阅读下「从零开始学习Spring Session」系列:. 从零开始的Spring Security Session(一).

五分钟了解Java10针对垃圾收集的改进

于04-19 02:59 - - 技术杂记 转载 Java
Java10 已经发布了大概有一个多月了. 我们在之前的文中介绍过10为我们带来的一些新特性: JDK10要来了:下一代 Java 有哪些新特性. 其中就提到了10 关于G1垃圾收集器的一些改进. G1在Java 9的时候已经是被作为默认的垃圾收集器了. 如果你了解G1的话,应该知道它是一个更注重低停顿的收集器.

创建订单实现幂等的一点思考

于04-10 11:20 - Sam哥哥 - IT技术 分布式 架构设计
大部分文章都会说,同一个操作,进行多次操作后,结果是一样的,就可以说这个操作是支持幂等的. 感觉不太准确,比如一个http get操作,可能每次的结果都不一样,但是其实是幂等的. 看了很多文章,感觉下面的定义比较准确:. 一个操作如果多次任意执行所产生的影响(或者叫副作用),都是相同的. 如果一个用户分两次下单,购买的商品都是一样的.

如何定位那些SQL产生了大量的redo日志

于04-04 21:30 - TiuVe2 - 基础技术 redo日志 SQL 问题分析
在ORACLE数据库的管理、维护过程中,偶尔会遇到归档日志暴增的情况,也就是说一些SQL语句产生了大量的redo log,那么如何跟踪、定位哪些SQL语句生成了大量的redo log日志呢. 下面这篇文章结合实际案例和官方文档“How to identify the causes of High Redo Generation (文档 ID 2265722.1)”来实验验证一下.

消息中间件选型分析——从Kafka与RabbitMQ的对比来看全局

于04-03 23:31 - - 技术杂记 转载 RabbitMQ Kafka
有很多网友留言:公司要做消息中间件选型,该如何选. 消息选型的确是一个大论题,实则说来话长的事情又如何长话短说. 对此笔者专门撰稿一篇内功心法: 如何看待消息中间件的选型,不过这篇只表其意未表其行,为了弥补这种缺陷,笔者最近特意重新撰稿一篇,以供参考. 温馨提示:本文一万多字,建议先马(关注)后看.

Java 虚拟机 7:内存分配原则

于03-26 18:45 - TiuVe2 - 基础技术 JVM
对象的内存分配,往大的方向上讲,就是在堆上分配,少数情况下也可能会直接分配在老年代中,分配的规则并不是百分之百固定的,其细节决定于当前使用的是哪种垃圾收集器组合,当然还有虚拟机中与内存相关的参数. 垃圾收集器组合一般就是Serial+Serial Old和Parallel+Serial Old,前者是Client模式下的默认垃圾收集器组合,后者是Server模式下的默认垃圾收集器组合,文章使用对比学习法对比Client模式下和Server模式下同一条对象分配原则有什么区别.

如何看待消息中间件的选型

于03-12 08:29 - - 技术杂记 转载 消息中间件 选型
近来有很多网友留言:公司要做消息中间件选型,该如何选. 我的回答一般是:It’s a nice topic~如果随意回答一个的话显得很不严谨也不太负责任,如果严谨的回答的话一天就不用干活了. 消息选型的确是一个大论题,实则说来话长的事情又如何长话短说. 被问的越多越觉得需要整理一篇自己的观点出来,主要的目的将自己的经验分享出来,可以让别人少踩点误区,次要的目的是下次再被问到了可以直接甩链接而不用再打太极(如果你后者觉得这是主要目的话,那么我只能回答:橘生淮南则为橘,嘿嘿~~).

优化 MySQL: 3 个简单的小调整

于02-09 15:36 - 十七树 - IT技术 MySQL 数据库
我并不期望成为一个专家级的 DBA,但是,在我优化 MySQL 时,我推崇 80/20 原则,明确说就是通过简单的调整一些配置,你可以压榨出高达 80% 的性能提升. 尤其是在服务器资源越来越便宜的当下. 没有两个数据库或者应用程序是完全相同的. 这里假设我们要调整的数据库是为一个“典型”的 Web 网站服务的,优先考虑的是快速查询、良好的用户体验以及处理大量的流量.

网站开发中的字体设置

于02-09 07:59 - 标点符 - 产品设计 程序开发 CSS 前端技术 字体
字体的选择,是网页开发的关键因素之一. 合适的字体,对网页的美观度(或可读性)有着举足轻重的影响. 由于字体设置在代码实现上非常的简单,导致了大多数开发人员都没有重视. 在前端、设计分工协助的状态下很容易导致字体设置成为三不管的状态. 在西文(英文)字体中,最简单的字体分类方式是将字体分为衬线体(serif)与无衬线体(sans-serif).

做 ML 有关的工作,需要哪些技能?

于01-30 23:08 - Agatha - IT技术 机器学习
【导读】:有位网友在 Quora 上提问:做与机器学习有关的工作,需要些什么技能呢. 我是一个自学者,现在家中自学线性代数. 希望有天能在机器学习领域工作,但是我不太确定:. a) 这种工作/面试需要什么技术上的技能. b) 有没有什么(做这种工作)必须的相关工作经历. 比起空想,我至少开始行动了.

移动 APP 网络优化概述

于01-09 19:25 - bang - 技术文章
一般开发一个 APP,会直接调用系统提供的网络请求接口去服务端请求数据,再针对返回的数据进行一些处理,或者使用AFNetworking/OKHttp这样的网络库,管理好请求线程和队列,再自动做一些数据解析,就结束了. 但对于一些大型 APP,还会想针对网络的一些问题进行进一步优化,包括:. 速度:网络请求的速度怎样能进一步提升.

String 常量池和 String#intern()

于12-29 12:37 - TiuVe2 - 基础技术 String 常量池
String是Java基础的重要考点. 可问的点多,而且很多点可以横向切到其他考点,或纵向深入JVM. 本文略过了String的基本内容,重点在于String#intern(). String常量可能会在两种时机进入常量池:. 编译期:通过双引号声明的常量(包括 显示声明、 静态编译优化后的常量,如”1”+”2”优化为常量”12”),在前端编译期将被静态的写入class文件中的“常量池”.

缓存穿透、缓存并发、热点缓存之最佳招式

于12-26 23:45 - - 技术杂记 摘抄 缓存
我们在用缓存的时候,不管是Redis或者Memcached,基本上会通用遇到以下三个问题:. 我们在项目中使用缓存通常都是先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回. 这个时候如果我们查询的某一个数据在缓存中一直不存在,就会造成每一次请求都查询DB,这样缓存就失去了意义,在流量大时,可能DB就挂掉了.

聊聊 TCP 中的 KeepAlive 机制

于12-19 00:01 - TiuVe2 - 基础技术 KeepAlive TCP
服务端的系统设置中经常会和底层协议打交道,我们有必要重温一下曾经那些“听过”却不熟悉的名词. 今天聊的话题是 KeepAlive,在实际应用中又是怎么使用的. 为什么有Keepalive. 大家都做过电梯吧,假设电梯来了你先进去,你朋友还没进来,过一段时间电梯门就会自动关闭, 你应该没遇到过哪个电梯会一直等你朋友来了才关门的.

如何开始数据分析

于12-11 20:06 - 精算狗 - IT技术 数据分析
菜鸟数据科学家、分析师,以及刚刚接触数据科学的管理人员,通常有这样的疑问. 他们的老板都在承受着压力,得证明花在系统上去收集、存储及组织资料的钱(更不用说还有那些花在数据科学家身上的钱)是有回报的. 他们偶尔很幸运——待解决的问题可能非常明确,而且被深入研究过(例如,预测哪个客户可能会取消手机合约).

详解 Tomcat 的连接数与线程池

于11-12 21:09 - TiuVe2 - 基础技术 Tomcat
在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector). 在前面的文章 详解Tomcat配置文件server.xml 中写到过:Connector的主要功能,是接收连接请求,创建Request和Response对象用于和请求端交换数据;然后分配线程让Engine(也就是Servlet容器)来处理这个请求,并把产生的Request和Response对象传给Engine.

GIF vs APNG vs WebP

于02-14 14:14 - JayXon - 技术文章 apng compression gif png
GIF 是一个非常古老的格式,1987 年诞生,最后一个版本是 1989 年. (这就是为什么 GIF 文件头的 magic number 是 GIF89a). APNG 相对新一些,是 Mozilla 在 2004 年推出的,十几年的科技进步是不容小觑的,所以 APNG相对于 GIF 的优势十分明显,后面会分析.

RESTful API 设计最佳实践

于10-16 21:48 - 十七树 - IT技术 restful
项目资源的URL应该如何设计. 用哪种HTTP方法来创建一个新的资源. 实现分页和版本控制的最好方法是什么. 因为有太多的疑问,设计RESTful API变得很棘手. 在这篇文章中,我们来看一下RESTful API设计,并给出一个最佳实践方案. 资源集合用一个URL,具体某个资源用一个URL:. #资源集合的URL /employees/56.

Web GIS 离线解决方案

于10-16 21:51 - TiuVe2 - 基础技术 GIS
在离线环境下(局域网中)的GIS系统中如何使用地图. 这里的地图主要指的是地图底图,有了底图切片数据,我们就可以看到地图,在上面加上自己的业务数据图层,进行相关操作. 要在离线环境下看到GIS地图,就要有底图切片数据,地图的底图切片数据在一定时间内是不会变化的,可以使用一些地图下载器下载地图切片,如这个 地图下载器.