-
利用Redis实现分布式锁
秒杀系统的架构设计 秒杀系统,是典型的短时大量突发访问类问题。对这类问题,有三种优化性能的思路: 1:写入内存而不是写入硬盘 2:异步处理而不是同步处理 3:分布式处理 用上这三招,不论秒杀时负载多大,都能轻松应对。更好的是,Redis能够满足上述三点。因此,用Redis就能轻松实现秒杀系统。用我这个方案,无论是电商平台特价秒杀,12306火车票秒杀,都不是...
时间:2018-11-29点击:617收藏
-
保证分布式系统数据一致性的6种方案
在电商等业务中,系统一般由多个独立的服务组成,如何解决分布式调用时候数据的一致性? 具体业务场景如下,比如一个业务操作,如果同时调用服务 A、B、C,需要满足要么同时成功;要么同时失败。A、B、C 可能是多个不同部门开发、部署在不同服务器上的远程服务。 在分布式系统来说,如果不想牺牲一致性,CAP 理论告诉我们只能放弃可用性,这显然不能接受。为了便于讨论问题...
时间:2018-11-29点击:663收藏
-
创建Java线程的3种方式及对比
一:继承Thread类创建线程类 class PrimeThread extends Thread { long minPrime; PrimeThread(long minPrime) { this.minPrime = minPrime; } public void run() { // compute primes larger than minPri...
时间:2018-11-29点击:792收藏
-
分布式任务调度解决方案(完结版)
Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或 EJBs。 Quartz的优势: 1、Quartz是一个任务调度框架(库),它几乎可...
时间:2018-11-29点击:825收藏
-
69道Spring面试题和答案
Spring 概述 1.什么是spring? Spring 是个Java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。 2.使用Spring框架的好处是什么? 轻量:Spring 是轻量的,基...
时间:2018-11-29点击:667收藏
-
双十一临近,怎样让买家流畅地秒杀?
WeTest 导读 十一月临近,一年一度的电商大戏“双十一”又将隆重出场,目前各大商家已经开始各类优惠券的发放,各类大促的商品表单也已经提前流出,即将流入各个用户的购物车中。 作为这些活动的载体,产品宣传、商品购买、交易结算、客户反馈以及售后服务都是电商产品(包括网站、APP、小程序等形式)非常重要的功能,但当双十一临近,电商产品要面对大量级用户群体涌入,流...
时间:2018-11-29点击:728收藏
-
9种高性能可用高并发的技术架构
1、分层 分层是企业应用系统中最常见的一种架构模式,将系统在横向维度上切分成几个部分,每个部分负责一部分相对简单并比较单一的职责,然后通过上层对下层的依赖和调度组成一个完整的系统。 在网站的分层架构中,常见的为3层,即应用层、服务层、数据层。应用层具体负责业务和视图的展示;服务层为应用层提供服务支持;数据库提供数据存储访问服务,如数据库、缓存、文件、搜索引擎...
时间:2018-11-29点击:693收藏
-
SpringBoot实现Mybatis多数据源方案
背景 目前报表导出需要多数据库的数据,因此我们需要做Mybatis多数据源的配置 我们之前使用Spring的AbstractRoutingDataSource 做资源隔离redis限制请求频率及资源隔离 但是事实上我们确实存在两个数据源【非读写分离】 两个数据源完全不同 换言之在业务上完全不等价【即A数据源的数据和B数据源的数据不同】 而读写分离是A数据源和...
时间:2018-11-29点击:758收藏
-
Dubbo 新编程模型之外部化配置
外部化配置(External Configuration) 在Dubbo 注解驱动例子中,无论是服务提供方,还是服务消费方,均需要转配相关配置Bean: @Bean publicApplicationConfigapplicationConfig(){ ApplicationConfigapplicationConfig=newApplicationConf...
时间:2018-11-29点击:681收藏
-
《Spring Cloud Netflix》 -- 服务注册和服务发现-Eureka 的使用
一、Spring Cloud Netflix 该项目是Spring Cloud的核心子项目,是对Netflix公司一系列开源产品的封装。它为Spring Boot应用提供了自配置的整合,只需要通过一些简单的注解,就可以快速地在Spring Cloud的应用中使用起来。 它主要提供的模块包括: 服务发现注册(Eureka) 客户端负载均衡(Ribbon) 断路...
时间:2018-11-29点击:816收藏
-
阿里架构师分享的Java程序员需要突破的技术要点
一、源码分析 源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂。 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。 我认为是阅读源码的最核心驱动力。我见到绝大多数程序员,对学习的态度,基本上就是这几个层次(很偏激哦): 1、只关注项目本身,不懂就baidu一下。 2、除了做好项目,还会阅读和项目有关...
时间:2018-11-29点击:714收藏
-
MySQL性能管理及架构设计:SQL查询优化、分库分表
一、SQL查询优化(重要) 1.1 获取有性能问题SQL的三种方式 通过用户反馈获取存在性能问题的SQL; 通过慢查日志获取存在性能问题的SQL; 实时获取存在性能问题的SQL; 1.1.2 慢查日志分析工具 相关配置参数: slow_query_log#启动停止记录慢查日志,慢查询日志默认是没有开启的可以在配置文件中开启(on) slow_query_lo...
时间:2018-11-29点击:638收藏
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- MySQL8.0.19开启GTID主从同步CentOS8
- Hadoop3单机部署,实现最简伪集群
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题