同样的工作、同样的做需求,为什么他们能进阿里 点评cat zipkin pinpoint APM 上面 遵循google Dapper论文 ELK grafana + influxdb 开源授权协议 license Apache License ,Version 2.0 百度看看有哪些软件在用? 纯粹性 AOP-----service层不放ctroller层 拦截器Interceptor 过滤器Filter servlet -> J2EE Filter是基于函数回调(doFilter()方法)的,而Interceptor则是基于Java反射的(AOP思想)。 1.过滤器: 依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要获取的数据. 比如:在过滤器中修改字符编码;在过滤器中修改 HttpServletRequest的一些参数,包括:过滤低俗文字、危险字符等 2.拦截器: 依赖于web框架,在SpringMVC中就是依赖于SpringMVC框架。在实现上基于Java的反射机制,属于面向切面编程(AOP)的一种运用。由于拦截器是基于web框架的调用. 因此可以使用spring的依赖注入(DI)进行一些业务操作,同时一个拦截器实例在一个controller生命周期之内可以多次调用。但是缺点是只能对controller请求进行拦截,对其他的一些比如直接访问静态资源的请求则没办法进行拦截处理。 3.执行顺序 过滤器的运行是依赖于servlet容器的,跟springmvc等框架并没有关系。并且多个过滤器的执行顺序跟web.xml文件中定义的先后关系有关。 拦截器的执行顺序跟在SpringMVC的配置文件中定义的先后顺序有关。 |
一般是来一个用户就创建一个线程 bio堵塞 select 堵塞 异步(select 来用户不马上开线程处理。而是有业务 即 状态位有变化时才创建) select 放线程中 reacte模型 ![]() ![]() ![]() |
青山_20190110_MySQL事务与锁详解 链接:https://pan.baidu.com/s/1nTmvQddXwbGsWp4_wr6Xgg 提取码:rki8 |
本帖最后由 java 于 2019-1-8 16:46 编辑 链接:https://pan.baidu.com/s/1BNqYrfa0BomN55VVWdvlmg 提取码:v55q 分布式任务调度系统的实现 Quartz运行原理 做什么事情(任务):Job JobDetail 任务以什么样的规律运行:Trigger触发器 谁来指挥:Scheduler 调度器API 对象怎么存储 JobStore RAM JDBC 任务执行状态 Listener 如何实现动态管理 db增删改查 怎么从界面上管理任务 Scheduler接口 非配置文件方式 任务怎么随Spring启动 实现CommandLineRunner接口 或 ApplicationRunner Service 如何注入Quartz? JobFactory Cron 表达式 http://cron.qqe2.com/ MQ 基于事件 逐条处理 Cron表达式 对Quartz的优化和改造 layUI 为什么要集群 1.单点故障 2.实现负载均衡 集群面对的问题,协调 1.任务重复 2.任务没有任何一个节点执行 上面两个问题都能解决(集群管理器) 通信\共享数据 数据库 ZK(zookeeper)---Elastic-Job Redis 集群的配置 org.quartz.jobStore.isClustered=true 集群实现原理(集群管理器) 锁 数据库 for update --------qrtz_locks表相应行被锁 节点随机拿到这个锁(排他锁) 如果获取到锁的节点挂掉了,别的节点怎么知道? 这把锁会不会被释放 kill 进程 ----------测试 会释放 euraka-server ? quartz和xxl-job对比一下 Quartz的不足 (xxl-job Elastic-Job 基于Quartz,解决它的不足) 不支持任务分片策略 一个任务多个节点执行 没有可视化管理(操作 监控 日志 报表) 没有重试/恢复机制 http://www.xuxueli.com/xxl-job/#/ 《分布式任务调度平台XXL-JOB》 |
|Archiver|手机版|小黑屋|firemail
( 粤ICP备15085507号-1 )
GMT+8, 2025-5-19 23:10 , Processed in 0.064378 second(s), 23 queries .
Powered by Discuz! X3
© 2001-2013 Comsenz Inc.