【分布式】分布式事务 一、CAP理论CAP是 Consistency、Availability、Partition tolerance三个词语的缩写,分别表示一致性、可用性、分区容忍性。C - Consistency一致性是指写操作后的读操作可以读取到最新的数据状态,当数据分布在多个节点上,从任意结点读取到的数据都 是最新的状态。如何实现一致性?1、写入主数据库后要将数据同步到从数据库。2、写入主数据库后,在向从数据库同步期间要将从数据库锁定,待同步完成后再释放锁,以免在新数据写入成功 后,向从数据库查询到旧的数据。
【Spring Cloud Alibaba】sentinel环境搭建 一、环境准备从github下载sentinel这里下载可能非常的慢,可以右键复制链接地址,然后在迅雷里面去下载,非常的快。下载下来以后,上传到linux服务器直接启动。启动方式一:java -jar sentinel-dashboard-1.8.4.jar需要保证8080端口没有被占用启动方式二:java -jar -Dserver.port 8081 sentinel-dashboard-1.8.4.jar 自己指定一个端口启动方式三:nohup java -jar -Dserver.port
【Spring Cloud Alibaba】nacos配置中心实践 一、项目搭建在nacos注册中心实践,已经安装好了nacos,并且并且成功的将项目注册到了nacos中。接下来在实践下nacos做配置中心,首先来构建项目。1、POM文件导入依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
【nginx】nginx初步使用 1、使用nginx必备软件1、GCC编译器GCC(GNU Compiler Collection)可用来编译C语言程序。yum install -y gccC++来编写Nginx HTTP模块,这时就需要用到G++编译器。yum install -y gcc-c++2、PCRE库PCRE(Perl Compatible Regular Expressions,Perl兼容正则表达式)该库支持正则表达式。如果我们在配置文件nginx.conf里使用了正则表达式,那么在编译Nginx时就必须把
【Spring Cloud Alibaba】nacos注册中心实践 一、nacos下载直接输入nacos.io,然后在官网点击版本号点击Tags选择版本下载二、nacos安装解压后的目录结构:显然bin里面就是一些执行程序,conf中就是一些配置文件。因为nacos运行时需要数据库来记录用户、权限、角色等信息的。因此在conf中nacos已经为我们写好了需要的库和表。那就先建立库表,看看conf中的文件:很显然,application.properties就是程序的启动配置文件,显然我们有理由相信,nacos其实就是一个springboot形式的程序。
【zookeeper系列一】搭建zookeeper集群 文章目录1、zookeeper下载地址2、JDK安装3、安装zookeeper1、zookeeper下载地址zookeeper下载地址2、JDK安装由于zookeeper是用java开发的,所以要正常的使用zookeeper需要安装java环境,详细安装方式请看我另一篇介绍安装jdk的文章JDK详细安装方法3、安装zookeeper由于zookeeper的过半选举机制,要正常使用zookeeper集群,需要至少3台机器。笔者就使用了三台机器做一个安装zookeeper的测试,IP地址分别为:【1
【JOOQ】Springboot集成JOOQ 文章目录1、批量插入2、根据参数添加查询条件1、批量插入public void saveParamPropValue(List<DbParamPropValue> dbaParamPropValueList) { List<InsertValuesStep4<DbParamPropValueRecord, Long, Long, String, Stri...
多线程之如何打断线程 一、概述打断线程,你想到了什么?Thread.stop()方法吗?但是这个方法已经被废弃掉了,使用这个方法会产生很多问题。Thread.interrupt()方法呢?遗憾的是,这个方法并不能打断线程,只是提供一个信号量而已,要想通过这个方法来打断线程,还需要自己去判断这个信号量,然后用这几的逻辑来打断线程。二、interrupt方法抛出异常在多线程中,有些方法天生接收打断信号量,如果发生打...
【设计模式(三)】原型模式 一、原型模式概述原型模式是指:用原型实例指定创建对象的种类,并通过拷贝这些原型,创建新的对象。原型模式是一种创建型设计模式,允许一个对象再创建一个可定制的对象,无须知道知道如何创建的对象。用大白话解释就是,已知一个对象,再根据这个对象复制一个一模一样的对象。二、关于深拷贝和浅拷贝深拷贝:就是对象里面无论有属性或者方法,在复制新对象的时候,都全部拷贝过来,形成一个新的对象。浅拷贝:就...
【设计模式(一)】单例模式 一、枚举实现单例public enum Application { INSTANCE; public void sayOK() { System.out.println("OK...."); }}优点:天生能避免线程同步问题,而且还能防止反序列化重新创建新对象。二、静态内部类实现单例public class Application {...
【springboot】多环境文件配置 一、多配置文件在实际开发项目中,我们开发环境、测试环境、补丁环境都是有不同的配置的。各个环境可能用不同的数据库,为了便于开发,spring提供了多环境配置文件切换功能。比如:application-dev.yml表示测试环境配置、application-test.yml表示测试环境配置、application-prod.yml表示补丁环境配置、application.yml则是默认环境。如此,...
oracle12C新特性--PDB 一、oracle12c新特性oracle12c出了一个新特性,实例与数据库是一对一或者一对多的关系。举个栗子:① 你有一个四方桌,那么这个四方桌就是一个实例,也就是你安装的oracle12c产品,我们称之为CDB(container database)。四方桌肯定有很多的抽屉,假如编个号,1号抽屉、2号抽屉、3号抽屉,那么我们把这些抽屉称之为PDB(pluggable databa...
【springboot】引入外部配置文件 一、@PropertySource在springboot中不是所有的配置内容都写到application.properties中,在配置较多的情况下,我们可能将不同模块或者不同业务的配置写到不同的配置文件中。那么针对这样的配置文件,springboot默认是不认识也不加载的。针对这样的情况,可以使用springboot中的@PropertySource来使配置文件生效。举例如下,定义一个pro...
【springboot】YAML基本语法与值注入 一、YAML语法1、基本语法k 空格 v 表示一对键值对(必须有空格),以空格的缩进来控制层级关系,只要是左对齐的一列数据,都表示同一个层级。属性和值大小写敏感server: port: 8081 servlet-path: /hello2、值的规则① 字面量: 普通值② 字符串默认不用加上单引号和双引号③ 双引号不会转义字符串里面的特殊字符,也就是说如果字符串中有...
CentOS7安装JDK8 一、卸载自带OpenJDK一些Linux系统会自带一个OpenJDK,在安装OracleJDK之前,先卸载掉自带的OpenJDK:[root@java-test-01 ~]# java -versionopenjdk version "1.8.0_101"OpenJDK Runtime Environment (build 1.8.0_101-b13)OpenJDK 64-Bit Ser...
Linux搭建zookeeper集群 文章转载自:https://www.cnblogs.com/wrong5566/p/6056788.html一、部署前准备: 1、下载ZooKeeper的安装包: http://zookeeper.apache.org/releases.html我下载的版本是zookeeper-3.4.9。 2、将下载的zookeeper-3.4.9包放到/opt目录下,目录结构如下图...