![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hy项目相关
littleAsuna
BUPT在读学生
展开
-
Struts2
struts2的执行流程:大致分为三部分,核心控制器FilterDispatcher、业务控制器Action和用户实现的企业业务逻辑组件。核心控制器FilterDispatcher是Struts2框架的基础,包含了框架内部的控制流程和处理机制。基本简要流程:1.客户端发送Http请求2.根据web.xml配置,该请求被FilterDispatcher接收3.根据struts.xml的配置,...原创 2019-05-25 21:14:33 · 95 阅读 · 0 评论 -
Session
Session是什么因为Http请求是无状态的,两次Http请求无法产生关联,但是我们为了让用户只登陆一次,接下来操作我们都知道是该登录用户的操作,我们就需要记录这个状态。首先想到的是在cookie,cookie是把少量的信息存储在用户自己的电脑上,他在一个域名下是一个全局的,需要设置它的存储路径在域名www.a.com下,names当用户用浏览器访问时,php就可以从这个域名的任意页面读取c...原创 2019-05-24 11:05:37 · 195 阅读 · 0 评论 -
Tomcat 是什么
Servlet容器Tomcat其实是一个Servlet容器,他负责将Http请求封装成HttpServletRequest,并且将讲求结果封装成HttpServletResponse,然后将其再转成Http响应返回给客户端。Servlet是什么Servlet是Java语言中的一个接口,就是为了处理动态网络请求的。HttpServlet是一个继承了Servlet的抽象类,负责专门实现HTTP...原创 2019-05-24 10:58:16 · 239 阅读 · 0 评论 -
dao层的接口方法参数中为什么都要加上@Param注解
因为java没有保存行参的记录,java在运行的时候会把List queryAll(int offset,int limit);中的参数变成这样:queryAll(int arg0,int arg1),这样我们就没有办法去传递多个参数。所以需要使用@Param注解给方法参数命名,然后在xml文件的该dao层方法对应的sql语句中就可以正常使用@Param注解的参数名。...原创 2019-05-24 10:12:22 · 7711 阅读 · 1 评论 -
如何单机部署多个tomcat
首先在/etc/profile下添加如下环境变量,再执行source /etc/profile使配置文件生效在tomcat2目录下的bin(存放可执行文件)目录下的catalina.sh(负责tomcat的启动和关闭)新增如下打开tomcat2目录下的conf目录下的server.xml,修改三个端口...原创 2019-05-24 10:10:34 · 407 阅读 · 0 评论 -
架构优化方案
文章目录业务拆分应用集群部署(分布式,集群,负载均衡)多级缓存单点登录(分布式Session)数据库集群(读写分离,分库分表)服务化消息队列业务拆分1.业务拆分方法:根据业务属性进行垂直切分,划分为产品子系统,购物子系统,支付子系统,评论子系统,客服子系统,接口子系统等产品子系统(核心)线路保险签证酒店景区供应商子系统(核心)专门负责供应商对接供应商合同签署下单子系统(核心...原创 2019-05-24 10:08:55 · 6555 阅读 · 5 评论 -
项目架构
原创 2019-05-24 09:56:16 · 243 阅读 · 0 评论 -
项目架构分析方法QPS
例子:问:每天300w PV 的在单台机器上,这台机器需要多少QPS?答:( 3000000 * 0.8 ) / (86400 * 0.2 ) =139 (QPS)问:如果一台机器的QPS是58,需要几台机器来支持?答:139 / 58 = 3预估步骤:注册用户数-日均UV量-每日的PV量-每天的并发量峰值预估:平常量的2~3倍根据并发量(并发、事务数),存储容量计算系统容量客...原创 2019-05-24 09:55:22 · 924 阅读 · 0 评论 -
NGINX
1、什么是Nginx?Nginx是一个轻量级的web服务器、反向代理服务器以及电子邮件(IMAP/POP3)代理服务器。2、什么是反向代理?反向代理就是代理的服务端,对客户端是透明的,所有的客户端访问的统一地址都是代理服务器,然后代理服务器接收到请求进行相应的转发到内网的具体服务器上,然后再将返回的结果转发给客户端。可以实现负载均衡和数据统计流量监控。支持高并发每秒10万的并发量。正向代理...原创 2019-05-24 09:47:53 · 139 阅读 · 0 评论 -
Shiro(权限管理框架)
RBAC权限控制模型(Role-Based Access Control)基于角色的访问控制。RBAC认为权限的过程可以抽象概括为:判断【Who是否可以对What进行How的访问操作(Operator)】这个逻辑表达式的值是否为True的求解过程。其实就是要求抽象出不同的角色,角色拥有不同的权限,当一个用户符合某个角色的时候,将角色和用户绑定,那么用户就拥有了和角色相同的权限。下面我来讲一个...原创 2019-05-24 09:45:47 · 841 阅读 · 0 评论 -
项目开发遇到的问题
性能优化方面1)数据库连接太多,导致连接失效和崩溃1.show processlist可以通过show processlist来查看当前的mysql连接,处于sleep状态的线程正在等待客户端发送新的请求,处于空闲状态,可以通过kill命令关闭这些线程,释放数据库连接。2 max_connections可以增加全局变量max_connections,mysql允许的最大用户连接数,设置此...原创 2019-05-24 09:36:58 · 4331 阅读 · 0 评论 -
分布部署项目和带来的问题
为什么需要服务器集群Server Cluster?随着qps的提高,单台服务器的处理能力会成为瓶颈,虽然可以购买更强大的硬件,但是总会有上限而且后期成本就成指数级增长了。于是可以横向扩展的服务器集群应运而生。为什么需要负载均衡服务器集群的产生,首先需要解决的问题是如何将不同的访问请求分给不同的服务器来处理,这就需要使用到负载均衡。负载均衡算法轮询 优点:实现简单 ...原创 2019-05-27 11:52:39 · 997 阅读 · 0 评论 -
高并发秒杀系统项目分析设计
秒杀主要的两个操作减库存记录用户的购买明细(用户名称 + 购买时间 + 购买商品 + 商品数量等)为什么我们的系统需要事务如果减了库存,没有记录用户的购买明细,导致商品少卖如果记录了用户的购买明细,没有减库存,导致商品超卖若是没有事务的支持,损失最大的无疑是我们的用户和商家。在MySQL中,它内置的事务机制,可以准确的帮我们完成减库存和记录用户购买明细的过程。MySQL实现秒...原创 2019-05-26 22:09:35 · 1270 阅读 · 0 评论 -
Servlet
一个Servlet就可以直接处理一个Http请求在没有框架的时代,Http请求到达Tomcat应用服务器,服务器更具web.xml中配置的servletmapping,也就是关于哪些请求应该找那个servlet来处理。然后直接将这个Http请求交个对应的Servlet类。所以这些负责哪个请求的servlet配置必须得由程序员在xml文件中配置好才行。请求处理方式:1.去掉项目前缀URL,只...原创 2019-05-25 21:14:11 · 698 阅读 · 0 评论