li.ss' nodes

Every day is a brand new last day.


  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

cache和db不一致的问题

发表于 2017-07-25
字数统计: 1.8k 字 | 阅读时长 ≈ 6 分钟

起因

假设先写数据库,再淘汰缓存:第一步写数据库操作成功,第二步淘汰缓存失败,则会出现DB中是新数据,Cache中是旧数据,数据不一致【如下图:db中是新数据,cache中是旧数据】。

假设先淘汰缓存,再写数据库:第一步淘汰缓存成功,第二步写数据库失败【如下图:cache中无数据,db中是旧数据】。

结论:先淘汰缓存,再写数据库。

阅读全文 »

SpringBoot 集成shiro

发表于 2017-07-24 | 分类于 SpringBoot
字数统计: 2.2k 字 | 阅读时长 ≈ 10 分钟

shiro简介

Apache Shiro是Java的一个安全框架。功能强大,使用简单的Java安全框架,它为开发人员提供一个直观而全面的认证,授权,加密及会话管理的解决方案。

实际上,Shiro的主要功能是管理应用程序中与安全相关的全部,同时尽可能支持多种实现方法。Shiro是建立在完善的接口驱动设计和面向对象原则之上的,支持各种自定义行为。Shiro提供的默认实现,使其能完成与其他安全框架同样的功能,这不也是我们一直努力想要得到的吗!

Apache Shiro相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题就好了。

阅读全文 »

SpringBoot集成RocketMQ

发表于 2017-06-18 | 分类于 RocketMQ
字数统计: 2.1k 字 | 阅读时长 ≈ 11 分钟

Rocket的安装

下载

官方地址:http://rocketmq.apache.org/dowloading/releases/

部署Rocket

将下载的二进制包解压

打开 runbroker.cmd和runserver.cmd 修改运行参数

阅读全文 »

RocketMQ 的使用

发表于 2017-06-16 | 分类于 RocketMQ
字数统计: 3.5k 字 | 阅读时长 ≈ 15 分钟

为什么选择RcoketMQ

支持严格的消息顺序
支持Topic与Queue两种模式
亿级消息堆积能力
比较友好的分布式特性
同时支持Push与Pull方式消费消息
历经多次天猫双十一海量消息考验
RocketMQ是纯java编写,基于通信框架Netty。

核心概念

它由四部分组成:name servers, brokers, producers 和 consumers。它们中的每一个都可以水平扩展而没有单一的故障点。如下面的截图所示。

阅读全文 »

SpringBoot 集成Dubbo

发表于 2017-05-25 | 分类于 SpringBoot
字数统计: 1.5k 字 | 阅读时长 ≈ 6 分钟

Dubbo是什么

Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。

阅读全文 »

ActiveMQ 的高可用

发表于 2017-05-24 | 分类于 ActiveMQ
字数统计: 1k 字 | 阅读时长 ≈ 4 分钟

什么是高可用

高可用就是将各个系统通过网络或者其他手段组成一个群体,共同对外提供服务,消除单点故障,比如solr利用zookeeper进行主从节点的选举,选取leader对外提供服务。内部各节点进行通讯,当leader挂掉之后,会重新选取一个新的leader,并对外提供服务,当挂掉的leader恢复之后,自动加入到集群里面,保证整个服务能一直对外提供服务。

什么是负载均衡

将请求分摊到对个操作单元中进行执行,共同完成工作任务。比如nginx+tomcat的负载均衡,当访问量大时,将这些请求按照一定的规则分别分发的内部的tomcat服务,而不是单一的tomcat来响应这些请求。nginx的负载方式:

阅读全文 »

SpringBoot 集成ActiveMQ

发表于 2017-05-24 | 分类于 ActiveMQ
字数统计: 1.3k 字 | 阅读时长 ≈ 5 分钟

JMS是什么

JMS的基础

JMS是什么:JMS是Java提供的一套技术规范
JMS干什么用:用来异构系统 集成通信,缓解系统瓶颈,提高系统的伸缩性增强系统用户体验,使得系统模块化和组件化变得可行并更加灵活
通过什么方式:生产消费者模式(生产者、服务器、消费者)

jdk,kafka,activemq……

阅读全文 »

SpringBoot 多数据源

发表于 2017-05-22 | 分类于 SpringBoot
字数统计: 689 字 | 阅读时长 ≈ 3 分钟

概述

在开发过程中可能需要用到多个数据源,比如一个项目(MySQL)就是和(SQL Server)混合使用,就需要使用多数据源;

开始

创建多数据源配置

master:
datasource:
url: jdbc:mysql://182.61.34.12:3306/test?useUnicode=true&characterEncoding=utf8
username: root
password: root
driverClassName: com.mysql.jdbc.Driver


slave:
datasource:
url: jdbc:mysql://182.61.34.12:3306/test?useUnicode=true&characterEncoding=utf8
username: root
password: root
driverClassName: com.mysql.jdbc.Driver
阅读全文 »

SpringBoot 集成jpa

发表于 2017-05-21 | 分类于 SpringBoot
字数统计: 773 字 | 阅读时长 ≈ 3 分钟

添加依赖

添加jar包

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
阅读全文 »

SpringBoot 集成mybatis

发表于 2017-05-21 | 分类于 SpringBoot
字数统计: 703 字 | 阅读时长 ≈ 3 分钟

添加环境依赖

添加mybatis依赖:

<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>

添加jdbc

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
阅读全文 »
123
li.sscoder

li.sscoder

Love life, Love technology.

21 日志
7 分类
21 标签
GitHub E-Mail
© 2015 — 2019 li.ss | 文字总数: 33k
li.ss' nodes | Hosted by GitHub Pages