摘要: keepalived基于VRRP协议,组件免费,可以解决单点故障,实现高可用HA机制。keepalived可以用于解决Nginx高可用问题。 云服务器不采用keepalived,云服务厂商可能不提供虚拟IP服务,可以直接使用云负载均衡服务。 1 keepalived 1.1 VRRP协议与原理 虚拟 阅读全文
posted @ 2021-01-07 23:32 Awecoder 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 文章主要包含以下内容: Tomcat软件目录结构和部署目录结构 Tomcat部署项目的3种方式 1 Tomcat目录结构 1.1 Tomcat软件目录结构 1.2 Java动态项目目录 Tomcat webapps目录下可以部署静态项目和动态项目。其中Java动态项目目录可能会包含如下几部分: -- 阅读全文
posted @ 2021-01-04 07:57 Awecoder 阅读(710) 评论(0) 推荐(0) 编辑
摘要: 1 Nginx配置负载均衡 1.1 配置反向代理/负载均衡 配置反向代理:配置一个server虚拟主机(server 块) 用来监听端口,用来接收http请求,location 配置为 proxy_pass(代理通过) 用来表示请求转发到上游服务器 upstream。 配置多台server,便具有了 阅读全文
posted @ 2021-01-03 22:01 Awecoder 阅读(626) 评论(0) 推荐(0) 编辑
摘要: 1 Nginx进程模型 nginx共有两种进程模型,即master和worker进程。master主进程管理worker进程。管理包含: 接收来自外界的信号,向各worker进程发送信号; 监控worker进程的运行状态,当worker进程退出后(异常情况下),会自动重新fork新worker进程。 阅读全文
posted @ 2020-12-27 23:19 Awecoder 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 负载均衡是当有大量的并发请求来到服务器的时候,我们能够把这些请求分配到多台计算机节点上,让更多的节点来处理请求和响应,如此就可以大大缩减用户请求的等待时间。 1 四层/七层负载均衡 OSI网络模型共分为七层,即从用户发起请求到服务器接收需要经过七道工序。七层从上往下分别是应用层、表示层、会话层、传输 阅读全文
posted @ 2020-12-27 23:11 Awecoder 阅读(3931) 评论(0) 推荐(1) 编辑
摘要: HikariCP连接池是高性能的JDBC连接池,官网标注的三大特点:快速、简单、可靠,性能优于其他连接池。 官网详细地说明了HikariCP所做的一些优化,总结如下: 字节码精简:优化代码,直到编译后的字节码最少(展平继承层次结构,掩饰成员变量,消除强制类型转换),这样,CPU缓存可以加载更多的程序 阅读全文
posted @ 2020-12-26 11:46 Awecoder 阅读(2189) 评论(0) 推荐(0) 编辑
摘要: 数据库连接是有限的、昂贵的资源,一个数据库连接对象对应一个物理数据库的连接,如果每次数据库操作都创建新的连接,使用完后释放,会导致系统性能低下,这就引出了连接池的概念。 连接池的必要性 数据库连接池是负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,可以视作一个存放数据库连 阅读全文
posted @ 2020-12-26 11:42 Awecoder 阅读(6067) 评论(0) 推荐(0) 编辑
摘要: 当浏览器向web服务器发送请求的时候,一般会在头信息中带上Referer字段,告诉服务器我是从哪个页面链接过来的,服务器基此可以获得一些信息用于处理。基于头信息的Referer字段,nginx识别指定的Referer,在客户端请求时,通过匹配referer头域与配置,对于指定放行,对于其他refer 阅读全文
posted @ 2020-12-23 07:47 Awecoder 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 跨域问题出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚 阅读全文
posted @ 2020-12-23 07:33 Awecoder 阅读(2714) 评论(1) 推荐(0) 编辑
摘要: 一、线程基本通信机制 1 wait和notify的用法 wait和notify是Java最基本的线程间通信机制,体现了线程的交互,用于信息的传递。例如在生产者消费者模式中,利用阻塞和唤醒使不同线程之间配合实现业务逻辑。 阻塞阶段--wait,调用对象的wait方法,线程进入WAITING状态,阻塞挂 阅读全文
posted @ 2020-12-20 22:24 Awecoder 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 同步与异步 同步与异步:被调用者是否主动告诉调用者结果,重心是被调用者。 同步与异步通常用来形容一次调用,关注的是消息通信机制。同步调用一旦开始,调用者必须等到调用返回后,才能进行后续的行为。也就是说,调用者主动等待调用的结果。 而异步则是相反,异步调用发出后,调用就会立即返回,告诉调用者我方收到请 阅读全文
posted @ 2020-12-20 16:32 Awecoder 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 文章主要分析Nginx核心配置文件 ./conf/nginx.conf 1 Nginx核心配置结构 2 配置模块详解 设置worker进程的用户,指的linux中的用户,会涉及到nginx操作目录或文件的一些权限,默认为nobody user root; worker进程工作数设置,一般来说CPU有 阅读全文
posted @ 2020-12-12 10:00 Awecoder 阅读(332) 评论(0) 推荐(0) 编辑
摘要: MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。 CentOS 7.6安装MariaDB10.4.8 依次下载好安装包和依赖 [root@localhost 阅读全文
posted @ 2020-11-09 22:40 Awecoder 阅读(297) 评论(1) 推荐(0) 编辑
摘要: 准备工作,先下载JDK、Tomcat包;使用FileZilla将软件包发送到/home/software目录下。 1 安装JDK8 首先卸载已有的JDK. # 查看版本 java -version # 查看安装包 rpm -qa | grep openjdk -i # 依次卸载 rpm -e --n 阅读全文
posted @ 2020-11-09 22:19 Awecoder 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 主机和虚拟机配置 1 查看虚拟机网卡设置,查看虚拟机网关。 2 然后,设置本地机器VMnet8网卡的IP地址和子网掩码。切记,IP地址不能与虚拟机网卡IP地址相同。 3 配置虚拟机Centos的ens33网卡 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY= 阅读全文
posted @ 2020-11-09 21:31 Awecoder 阅读(838) 评论(0) 推荐(0) 编辑
摘要: 串行、并行与并发的理解 标签(空格分隔): 串行 并行 并发 1 串行和并行 串行是大家排队一个一个来,并行是大家一起上。 2 并发和并行 概念非常相似,难以区分。分别体现在两个方面。 并发(Concurrency),体现在(1)单个处理器;(2)逻辑上同步运行。 并行(Parallelism),体 阅读全文
posted @ 2020-11-09 08:11 Awecoder 阅读(5112) 评论(0) 推荐(2) 编辑
摘要: 1 多环境部署 在实际软件开发和部署过程中,我们的软件往往需要在不同的运行环境中运行。例如,各个环境数据库地址不同,需要单独配置。spring高级装备中提供profile,来支持多环境部署。 1.1 使用spring profile机制实现 application.yaml作为主配置文件,配置主要属 阅读全文
posted @ 2020-11-08 19:07 Awecoder 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 在秒杀系统设计中,超卖是一个经典、常见的问题,任何商品都会有数量上限,如何避免成功下订单买到商品的人数不超过商品数量的上限,这是每个抢购活动都要面临的难点。 1 超卖问题描述 在多个用户同时发起对同一个商品的下单请求时,先查询商品库存,再修改商品库存,会出现资源竞争问题,导致库存的最终结果出现异常。 阅读全文
posted @ 2020-10-16 23:04 Awecoder 阅读(1460) 评论(0) 推荐(0) 编辑
摘要: 形参和实参 形式参数,是在方法定义阶段,是定义某个函数时使用的参数,用于接收实参传入。例f(x,y)中x和y是形参。 实际参数,是在方法调用阶段,是主调函数调用有参函数时,实际传递的内容。例f(3,7)中3和7是实参。 值传递和引用传递 值传递和引用传递不是简单地通过传递内容区分的。如果是值,就是值 阅读全文
posted @ 2019-07-11 21:37 Awecoder 阅读(173) 评论(0) 推荐(0) 编辑
摘要: package java.util; 一、Map接口 接口定义 public interface Map<K,V> Map是存放键值对的数据结构。map中没有重复的key,每个key最多只能映射一个value。map不允许包含自身引用作为key。Map接口用来代替Dictionary抽象类。 Map 阅读全文
posted @ 2019-06-19 21:35 Awecoder 阅读(295) 评论(0) 推荐(0) 编辑