jdk的安装及配置
### centos系统下安装jdk 下载jdk ### 解压下载的jdk移动到`/usr/local/jdk` - 配置 ```bash vim /etc/profile # 文件后增加如下 export JAVA_HOME=/usr/local/jdk export JRE_HOME=/usr/local/jdk/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH ``` - 刷新配置 ```bash source /etc/profile ```
php安装redis的支持
### 下载php-redis [php-redis](https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz) ### 解压 ```bash tar -zxvf 2.2.4.tar.gz cd phpredis-2.2.4/ /usr/local/php/bin/phpize #用phpize生成configure配置文件 ./configure --with-php-config=/usr/local/php/bin/php-config #配置 make #编译 make install #安装 ``` 1、安装完成之后,出现下面的安装路径 `/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/` 2、配置php支持 `vim /usr/local/php/etc/php.ini` #编辑配置文件,在最后一行添加以下内容 添加 `extension="redis.so"` `:wq!` #保存退出 3、
php5.6.19的编译安装
### PHP - 下载 - [php5.6.19](https://www.php.net/distributions/php-5.6.19.tar.gz) - 解压 - `tar -zxvf php-5.6.19.tar.gz` ### 相关依赖安装 - yum安装相关依赖 ````bash yum install -y zlib-devel fontconfig fontconfig-devel libXpm* libtool* libxml2 libxml2-devel curl curl-devel yum -y install make gcc-c++ ```` - 安装 yasm-1.3.0 ```bash tar -zxvf yasm-1.3.0.tar.gz cd yasm-1.3.0 ./configure make && make install ``` - 安装libmcrypt-2.5.8 ```bash tar zxvf libmcrypt-2.5.8.tar.gz cd libmcr
Node.js cluster模块相关笔记
## cluster Node.js的单个实例在单个线程中运行。 要利用多核系统,用户有时会想启动一个Node.js进程集群来处理负载。 cluster模块可以轻松创建全部共享服务器端口的子进程。 ``` const cluster = require('cluster'); const http = require('http'); const numCPUs = require('os').cpus().length; if (cluster.isMaster) { console.log(`Master ${process.pid} is running`); // Fork workers. for (let i = 0; i < numCPUs; i++) { cluster.fork(); } cluster.on('exit', (worker, code, signal) => { console.log(`worker ${worker.process.pid} died`); }); } else { //
Feign远程调用
# 2.Feign远程调用 先来看我们以前利用RestTemplate发起远程调用的代码:  存在下面的问题: •代码可读性差,编程体验不统一 •参数复杂URL难以维护 Feign是一个声明式的http客户端,官方地址:https://github.com/OpenFeign/feign 其作用就是帮助我们优雅的实现http请求的发送,解决上面提到的问题。  ## 2.1.Feign替代RestTemplate Fegin的使用步骤如下: ### 1)引入依赖 我们在order-service服务的pom文件中引入feign的依赖: ```xml <dependency> <groupId>org.springframework.cl
nginx的编译安装
### nginx下载 ### 依赖安装 ```bash yum install zlib zlib-devel openssl openssl-devel pcre-devel -y ``` ### 编译选项 ```bash ./configure \ --prefix=/usr/local/nginx \ --sbin-path=/usr/local/nginx/sbin/nginx \ --conf-path=/usr/local/nginx/conf/nginx.conf \ --pid-path=/usr/local/nginx/nginx.pid \ --with-http_ssl_module \ --with-zlib= \ --error-log-path=/usr/local/nginx/error/error.log \ --http-log-path=/usr/local/nginx/error/http.log \ --user=www \ --group=root
Nacos配置管理
# 1.Nacos配置管理 Nacos除了可以做注册中心,同样可以做配置管理来使用。 ## 1.1.统一配置管理 当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需要一种统一配置管理方案,可以集中管理所有实例的配置。  Nacos一方面可以将配置集中管理,另一方可以在配置变更时,及时通知微服务,实现配置的热更新。 ### 1.1.1.在nacos中添加配置文件 如何在nacos中管理配置呢?  然后在弹出的表单中,填写配置信息:  > 注
Spring Cloud微服务的使用与nacos注册中心
# Spring Cloud微服务 # 1.认识微服务 随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢? ## 1.0.学习目标 了解微服务架构的优缺点 ## 1.1.单体架构 **单体架构**:将业务的所有功能集中在一个项目中开发,打成一个包部署。  单体架构的优缺点如下: **优点:** - 架构简单 - 部署成本低 **缺点:** - 耦合度高(维护困难、升级困难) ## 1.2.分布式架构 **分布式架构**:根据业务功能对系统做拆分,每个业务功能模块作为独立项目开发,称为一个服务。  分布式架构的优缺点: **优点:** - 降低服务耦合 - 有
事务模式
## XA模式 ### XA模式原理 XA 规范 是 X/Open 组织定义的分布式事务处理(DTP,Distributed Transaction Processing)标准,XA 规范 描述了全局的TM与局部的RM之间的接口,几乎所有主流的数据库都对 XA 规范 提供了支持。   ### seata的XA模式 seata的XA模式做了一些调整,但大体相似: RM一阶段的工作: ① 注册分支事务到TC ② 执行分支业务sql但不提交 ③ 报告执行状态到TC TC二阶段的工作: - TC检测各分支事务执行状态 a. 如果都成功,通知所有RM提交事务 b. 如果有失败,通知所有RM回滚事务 RM二阶段的工作: - 接收TC指令,提
Docker部署seata
### 下载seata-server [seata-server](https://github.com/apache/incubator-seata/releases/download/v2.0.0/seata-server-2.0.0.tar.gz) ### 解压部署 目录结构  修改配置文件(conf/application.yml) ```yaml server: port: 7091 spring: application: name: seata-server cloud: nacos: discovery: server-addr: nocas-ip:8848 ip: ${HOST:192.168.40.167} port: 8081 logging: config: classpath:logback-sp
Seata架构、部署、微服务集成
# Seata的架构 ## Seata Seata是 2019 年 1 月份蚂蚁金服和阿里巴巴共同开源的分布式事务解决方案。致力于提供高性能和简单易用的分布式事务服务,为用户打造一站式的分布式解决方案。 官网地址:http://seata.io/,其中的文档、播客中提供了大量的使用说明、源码分析。  ## Seata事务管理中有三个重要的角色: - TC (Transaction Coordinator) - 事务协调者:维护全局和分支事务的状态,协调全局事务提交或回滚。 - TM (Transaction Manager) - 事务管理器:定义全局事务的范围、开始全局事务、提交或回滚全局事务。 - RM (Resource Manager) - 资源管理器:管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。 :分布式系统在出现故障时,允许损失部分可用性,即保证核心可用。 - Soft State(软状态):在一定时间内,允许出现中间状态,比如临时的不一致状态。 - Eventually Consistent(最终一致性):虽然无法保证强一致性,但是在软状态结束后,最终达到数据一致。 而分布式事务最大的问题是各个子事务的一致性问题,因此可以借鉴CAP定理和BASE理论: - AP模式:各子事务分别执行和提交,允许出现结果不一致,然后采用弥补措施恢复数据即可,实现最终一致。 - CP模式:各个子事务执行后互相等待,同时提交,同时回滚,达成强一致。但事务等待过程中,处于弱可用状态。 ### 分布式事务模型 解决分布式事务,各个子系统之间必须能感知到彼此的事务状态,才能保证状态一致,因此需要一个事务协调者来协调每一个事务的参与者(子系统事务)。 这里的子系统事务,称为分支事务;有关联的各个分支事务在一起称为全局事务 ![image.png](ht