- 浏览: 72165 次
- 性别:
- 来自: 济南
最新评论
文章列表
断路器-Hystrix
- 博客分类:
- springCloud
Hystrix产生的原因:
如果一个微服务不可用,其他的微服务还大量调用这个微服务会造成请求的积压,导致请求的微服务也不可用,从而导致与之关联的微服务业不可用,由此造成了微服务大面积的瘫痪。
在微服务大量请求下,导致消费者出现瘫痪的情况下,熔断器会把大量请求进行熔断,来保证自身服务的可用。
服务降级:在服务出现故障或者超时的情况下,服务消费方就会调用服务的其他方法进行响应的机制
Hystrix默认配置的响应超时时间是2000ms,如果响应时间超过这个时间就会使用消费方其他方法进行响应。
使用
在maven中引入SpringCloud依赖:
<dependency&g ...
在Web应用中,Spring容器通常采用声明式方式配置产生:开发者只要在web.xml中配置一个Listener,该Listener将会负责初始化Spring容器,MVC框架可以直接调用Spring容器中的Bean,无需访问Spring容器本身。在这种情况下,容器中的Bean处于容器管理下,无需主动访问容器,只需接受容器的依赖注入即可。
但在某些特殊的情况下,Bean需要实现某个功能,但该功能必须借助于Spring容器才能实现,此时就必须让该Bean先获取Spring容器,然后借助于Spring容器实现该功能。为了让Bean获取它所在的Spring容器,可以让该Bean实现Applic ...
查看mysql版本号
- 博客分类:
- docker-mysql
查询DockerMySQL 的版本号
1.查找到当前正在运行的容器
# docker ps
2.进入mysql容器(命令中不带小括号)
#docker exec -it (mysql的名字,或id) bash
3.登录mysql,输入账号密码登录(命令中不带小括号)
#mysql -u(root ) -p(abcd)
登录成功以后,会显示该mysql的详细信息,其中包含版本号
————————————————
版权声明:本文为CSDN博主「詹姆斯-小佩奇」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接 ...
mybatis缓存机制
- 博客分类:
- mybatis
MyBatis 缓存详解
缓存是一般的ORM 框架都会提供的功能,目的就是提升查询的效率和减少数据库的压力。跟Hibernate 一样,MyBatis 也有一级缓存和二级缓存,并且预留了集成第三方缓存的接口。
缓存体系结构:
MyBatis 跟缓存相关的类都在cache 包里面,其中有一个Cache 接口,只有一个默认的实现类 PerpetualCache,它是用HashMap 实现的。我们可以通过 以下类找到这个缓存的庐山真面目
DefaultSqlSession
-> BaseExecutor
-> PerpetualCache localC ...
1)、SpringBoot根据导入的依赖情况,给容器中添加相应的EmbeddedServletContainerFactory【TomcatEmbeddedServletContainerFactory】
2)、容器中某个组件要创建对象就会惊动后置处理器;EmbeddedServletContainerCustomizerBeanPostProcessor;
只要是嵌入式的Servlet容器工厂,后置处理器就工作;
3)、后置处理器,从容器中获取所有的EmbeddedServletContainerCustomizer,调用定制器的定制方法
springBoot注册3大组件
- 博客分类:
- springBoot
1 编写Filter Servlet Listener类 具体如下
public class MyServlet extends javax.servlet.http.HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("hello servlet !!!");
...
1 函数式编程的特点
11 函数是第一等公民
函数和其他数据类型一样,可以赋值给其他变量,可以做为传参,可以作为返回值
12 只用表达式不用语句 也就是说每一句都是有返回值
13 没有副作用 函数 也就是说函数与外部其他变量保持独立性,函数保持独立意味着所有的运算返回一个
新的值 没有其他行为 尤其不能修改外部变量的值
14 不修改状态
15 引用透明性
16 副作用 就是修改系统状态的语言结构
2 lambda表达式的重要特征
21 可选的参数类型 22 可选的参数圆括号 23 可 ...
1 命令行参数
2 java:comp/env的JNDI属性
3 java的系统属性
4 操作系统属性9
5 RandomValuePropertySource配置的random.*属性值
由jar包外向Jar包内生效
优先加载带profile的
jar包外部的application-{profile}.properties或application.yml(带profile)的配置
jar包内部的application-{profile}.properties或application.yml(带profile)的配置
再来加载不带profile的
jar包外部的app ...
JFinal Template解析
- 博客分类:
- JFinal
在计算机科学中,词法分析,lexing或标记化是将一系列字符(例如在计算机程序或网页中)转换成一系列标记(具有指定且因此标识的含义的字符串)的过程。
编码目标
给定一个源代码文件,能够将其转化为词法记号流。
比如规定int的词法记号为30,输出就是<30, int>;数字的词法记号为11,则输入123,输出为<11, 123>。
约定
Tomcat一闪而过
- 博客分类:
- tomcat
但是如果想在tomcat的安装目录下 双击startup.bat启动时却一闪而过了。这是为什么呢(tomcat启动失败),马上就带大家看看具体的原因。
下面我先跟大家确认一下问题出现的前提条件(本机版本java:1.6.20,tomcat:6.0.32):
1)在eclipse里面启动tomcat时都是正常的。
2)在系统中配置了各种环境变量如下:
JAVA_HOME:H:\DevelopTools\Java\jdk1.6.0_20
CATALINA_BASE:H:\DevelopTools\apache-tomcat-6.0.32
CATALINA_HOME:H:\Develop ...
SpringBoot使用占位符 取配置文件里的值和取随机数
person:
firstName: yk${random.uuid}
lastName: kai
age: 24
dog: ${person.firstName}_dog
问题 :在做数字管家项目时 遇到500并发请求nginx 报错 work_connection not enough的error
查资料有如下几个知识点
nginx有2类进程 master进程 和work_processes进程
events{
worker_connections 512;
} worker进程最大打开连接数
worker_rlimit_nofile 这个值限制worker进程打开最大连接数。同时连接数受限于系统上可用的文件描述符
此指令的作用是立即接受所有连接放到监听队列中
events{
mul ...
6.8 容器扩展点
RequiredAnnotationBeanPostProcessor 作用是:如果一个被标为@Required的bean的setter方法,那么这个bean就要有这个属性注入,如果不想对某个bean进行检测,可以将此bean的bean definition的org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor.skipRequiredCheck属性设置为false。
PropertyPlaceholderConfigurer
Factory ...
spring MVC自动配置
- 博客分类:
- springBoot
@enableSpringmvc 是一个把spring mvc自动配置功能全部交给程序员的一个注解类