• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

2019年01月11日的内容

基于redis分布式锁实现“秒杀”

最近在项目中遇到了类似“秒杀”的业务场景,在本篇博客中,我将用一个非常简单的demo,阐述实现所谓“秒杀”的基本思路。业务场景所谓秒杀,从业务角度看,是短时间内多个用户“争抢”资源,这里的资源在大部分秒杀场景里是商品;将业务抽象,技术角度看,秒杀就是多个线程对资源进行操作,所以实现秒杀,就必须控制线程对资源的争抢,既要保证高效并发,也要保证……

Redis的n种妙用,不仅仅是缓存

介绍redis是键值对的数据库,常用的五种数据类型为字符串类型(string),散列类型(hash),列表类型(list),集合类型(set),有序集合类型(zset)Redis用作缓存,主要两个用途:高性能,高并发,因为内存天然支持高并发应用场景分布式锁(string)setnx ……

史上最全Redis高可用技术解决方案大全

Redis常见的几种主要使用方式:Redis 单副本Redis 多副本(主从)Redis Sentinel(哨兵)Redis ClusterRedis 自研Redis各种使用方式的优缺点:1Redis单副本Redis 单副本,采用单个Redis节点部署架构,没有备用节点实时同步数据,不提供数据持……

如何搭建高可用redis架构?

1 题记Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。如今,互联网业务的数据正以更快的速度在增长,数据类型越来越丰富,这对数据处理的速度和能力提出了更高要求。Redis 是一种开源的内存非关系型数据库,给开发人员带来的体验是颠覆性的。在自……

一直在谈微服务,你知道分布式多中心架构是什么吗

每天都在谈SOA和微服务,但你真的理解什么是服务吗?服务的技术架构之争服务应该去版本化,不管是微服务还是SOA。任何架构的调整只是拆了东墙补西墙,无法解决效率问题。先厘清服务治理与组织架构的关系,再来谈微服务吧。由于我们一直从事的是传统企业的架构改造工作,所以对新兴的互联网企业如何实施微服务架构并没有实践过。在写这一章……

Git内部原理之Git对象

最近在读《Pro Git》这本书,其中有一章讲Git的内部原理,写得非常好,读完之后对于Git的理解会提升到一个新的层次。今后,我会写一系列的关于Git内部原理的文章,以帮助读者加深对Git的认识。内容主要参考《Pro Git》这本书,但不同的是,我会对内容进行重新组织,以使大家更容易理解。这篇文章的主题的Git对象。从根本上来讲,Git是一……

MYSQL优化有理有据全分析(面试必备)

目标· 了解什么是优化· 掌握优化查询的方法· 掌握优化数据库结构的方法· 掌握优化MySQL服务器的方法什么是优化?· 合理安排资源、调整系统参数使MySQL运行更快、更节省资源。· 优化是多方面的,包括查询、更新、服务器等。· 原则:减少系统瓶颈,减少资源占用,增加系统的反应速度。数据库性能参数· 使用SHOW STATU……

一次生产的JVM优化

生产环境有二台阿里云服务器,均为同一时期购买的,CPU、内存、硬盘等配置相同。具体配置如下:由于这二服务器硬件和软件配置相同,并且运行相同的程序,所以在Nginx轮询策略均weight=1,即平台的某个流量由这二台机器平分。有一次对系统进行例行检查,使用PinPoint查看下服务器”Heap Usage”的使用情况时,发现,在有一……

Java线程状态

Java多线程是大多面试场合必问的高频问题,本人在面试美团点评、小红书、金山WPS和海康威视时,被多次问到过 「Java中创建线程有哪几种方式?线程又有哪几种状态?」,在此并针对 「Object类中wait()、notify()和notifyAll()方法的具体使用」 进行一个系统的梳理与总结。参考答案Java中创建线程有哪几种方式?……

分布式、高并发、多线程,到底有什么区别?

当提起这三个词的时候,是不是很多人都认为分布式=高并发=多线程?当面试官问到高并发系统可以采用哪些手段来解决,或者被问到分布式系统如何解决一致性的问题,是不是一脸懵逼? 确实,在一开始接触的时候,不少人都会将三者混淆,误以为所谓的分布式高并发的系统就是能同时供海量用户访问,而采用多线程手段不就是可以提供系统的并发能力吗?实际上,他们三个总……

FESCAR:阿里重磅开源分布式事务解决方案

FESCAR名字的由来:Fast & EaSy Commit And RollbackFESCAR是啥?被用在微服务架构中的高性能分布式事务解决方案。微服务中的分布式事务问题让我们想象一个传统的应用,由3个模块构成,并且这三个模块使用同一个数据源。很明显,数据一致性由数据库提供的本地事务就能搞定。local……

一个经历风雨的SSH项目怎么“跑起来”

前言       很多程序员都说“面试造火箭,入职拧螺丝“,这种情况应该很多。甚至很多招Java后端,结果却写了好几个月页面,说多都是泪。            但是有些“螺丝”经历风雨后可能锈的你认不出来,今天特地为大家写一篇SSH项目的启动篇,希望大家喜欢。             这里我把过程分为两步: 导入项目;idea配置j……

分享十个 GitHub 上 15W+ 的后台控制界面。

项目屌不屌,全看前端牛不牛!Web 开发中几乎的平台都需要一个后台管理,但是从零开发一套后台控制面板并不容易,幸运的是有很多开源免费的后台控制面板可以给开发者使用,那么有哪些优秀的开源免费的控制面板呢?我在 Github 上收集了一些优秀的后台控制面板,并总结得出 Top 10。一、AdminLTEGithub Sta……

玩转代码混淆工具:ProGuard

维基百科对ProGuard的介绍是:ProGuard是一个压缩(shrink),优化(optimize)与混淆(Obfuscate)Java代码的开源命令行工具。也就是说混淆只是ProGuard的其中一个功能,本文也只介绍它的混淆功能。About ProGuardProGuard能通过重命名类名,字段名,方法名为一些没有意义的名字来混……

IntelliJ IDEA 从入门到上瘾教程,2019图文版!

前言:IntelliJ IDEA如果说IntelliJ IDEA是一款现代化智能开发工具的话,Eclipse则称得上是石器时代的东西了。其实笔者也是一枚从Eclipse转IDEA的探索者,随着近期的不断开发实践和调试,逐步体会到这款智能IDE带来的巨大开发便利,在强大的插件功能支持下,诸如对Git和……

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00