spring_core(2)Bean的初始化和注入
上一章节bean只是从xml加载出来,放到map里边,但是bean的class并没有创建实例。
1 | Student student = defaultListableBeanFactory.getBean("student", Student.class); |
当执行上述代码的时候才会实例化一个bean。
上一章节bean只是从xml加载出来,放到map里边,但是bean的class并没有创建实例。
1 | Student student = defaultListableBeanFactory.getBean("student", Student.class); |
当执行上述代码的时候才会实例化一个bean。
An object that executes submitted Runnable tasks. This interface provides a way of decoupling task submission from the mechanics of how each task will be run, including details of thread use, scheduling, etc. An Executor is normally used instead of explicitly creating threads. For example, rather than invoking new Thread(new(RunnableTask())).start() for each of a set of tasks, you might use:
警犬、监视、追踪的意思
服务链路分布式追踪
微服务架构是一个分布式架构 ,他按业务划分服务单元,一个分布式系统往往有很多个服务单元,由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位。主要体现在一个请求可能需要调用很多个服务,而内部服务的调用复杂性决定了问题难以定位,所以微服务架构中,必须实现分布式链路追踪,去跟进一个请求到底有哪些服务参与,参与的顺序又是怎样的,从而达到每个请求的步骤清晰可见,除了问题很快定位。
举个例子,在服务系统中,一个来自用户的请求,想达到前端A(如前端界面),然后通过远程调用,到达系统的中间件B、C(如负载均衡、网关),最后到达后端服务D、E,后端经过一系列的业务逻辑计算后将数据返回给用户,对于这样一个请求,经历了这么多服务,怎样将它的请求过程的数据记录下来呢?这就需要用到服务链路追踪。
目前,链路追踪组件有google的Dapper,Twitter的ziplin等,他们都是非常优秀的链路追踪开源组件。
spring cloud sleuth采用的是google的开源项目Dapper的专业术语。