实战 ELK 优雅管理服务器日志 ELK(Elasticsearch + Logstash + Kibana)平台很好的完成了上述工作,并且提供了友好便利的用户界面,普遍应用于生产日志的查询分析中。ELK一句话概括:用Logstash收集日志或者数据到Elasticsearch存储起来并建立相关索引,再利用Kibana查询界面到Elasticsearch上提供的索引进行查询和统计。
Caddy超越Nginx,下一代Web服务器? Nginx是一款非常流行的 Web服务器,在 Github上已有 16K+Star,我们经常用它来做 静态资源托管或 反向代理。最近发现了一款全新的Web服务器 Caddy,Star数超越Nginx,标星38K+Star。试用了一下Caddy,发现它使用起来比Nginx优雅多了,功能也很强大,推荐给大家!
用好SpringBoot内置工具类 断言断言是一个逻辑判断,用于检查不应该发生的情况Assert 关键字在 JDK1.4 中引入,可通过 JVM 参数-enableassertions开启SpringBoot 中提供了 Assert 断言工具类,通常用于数据合法性检查// 要求参数 object 必须为非空(Not Null),否则抛出异常,不予放行// 参数 message 参数用于定制异常信息。void notNull(Object object, String message)// 要求参数必须空(Null),否则抛出
限流组件设计实战 互联网系统通常都要面对`高并发`请求(如秒杀、抢购等),难免会对后端服务造成高压力,严重甚至会导致系统宕机。为避免这种问题通常会添加`限流`、`降级`、`熔断`等能力,从而使系统更为健壮。
Druid监控统计数据源 Druid 首先是一个数据库连接池,但它不仅仅是一个数据库连接池,还包含了一个 ProxyDriver,一系列内置的 JDBC 组件库(可以让程序员实现一些特殊的需求),一个 SQL Parser。在 Java 的世界中 Druid 是监控做的最好的数据库连接池,在功能、性能、扩展性方面,也有不错的表现
如何校验两个文件内容是否相同 今天做文件上传功能,需求要求文件内容相同不能重复上传。感觉这个需求挺简单的就交给了一位刚入行的新同学。等合并代码的时候发现这位同学居然用文件名称相同和文件大小相同作为两个文件相同的依据。这种条件判断可靠吗?
Sharding-JDBC 分库分表 随着公司业务快速发展,数据库中的数据量猛增,访问性能也变慢了,优化迫在眉睫。分析一下问题出现在哪儿呢? 关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。
Redis 教程 Redis是用C语言开发的一个开源的高性能键值对(key-value)非关系性数据库,官方提供测试数据,50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s,且Redis通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:>1. 字符串类型 string2. 散列类型 hash3. 列表类型 list4. 集合类型 set5. 有序集合类型 sortedset
别再说不会解决 “跨域“ 问题啦 什么是“跨源”JSONPCORSPostMessageWebsocketNginx 反向代理Node 中间件代理document.domain总结什么是“跨源”其实我们平常说的跨域是一种狭义的请求场景,简单来说就是“跨“过浏览器的同源策略去请求资“源”,所以我们叫它“跨源”也没啥问题。那么“跨源”,源是什么? 浏览器的同源策略什么是同源?const url = 'https://www.google.com:3000' 比如上面的这个 URL,协议是:https,域名是 www.goog
什么是进制? 进制也就是进位计数制,是人为定义的带进位的计数方法。对于任何一种进制如:X进制,就表示每一位上的数运算时都是逢X进一位。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。
数据库存IP地址,用什么数据类型 文章目录MySQL数据库INET_ATONINET_NTOAORACLE数据库INET_ATONINET_NTOA代码转换MySQL数据库在看高性能MySQL第3版(4.1.7节)时,作者建议当存储IPv4地址时,应该使用32位的无符号整数(UNSIGNED INT)来存储IP地址,而不是使用字符串。相对字符串存储,使用无符号整数来存储有如下的好处:节省空间,不管是数据存储空间,还是索引存储空间便于使用范围查询(BETWEEN…AND),且效率更高通常,在保存IPv4地址时,一个IPv
Java中那18把“金刚“锁 乐观锁和悲观锁悲观锁悲观锁对应于生活中悲观的人,悲观的人总是想着事情往坏的方向发展。举个生活中的例子,假设厕所只有一个坑位了,悲观锁上厕所会第一时间把门反锁上,这样其他人上厕所只能在门外等候,这种状态就是「阻塞」了。回到代码世界中,一个共享数据加了悲观锁,那线程每次想操作这个数据前都会假设其他线程也可能会操作这个数据,所以每次操作前都会上锁,这样其他线程想操作这个数据拿不到锁只能阻塞了。在Java语言中synchronized和ReentrantLock等就是典型的悲观锁,还有一些使用了s
Java 提高代码效率小技巧 前言代码优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率绝对是有提升的。代码优化的目标是:减小代