Spring Boot 分布式微服务使用

 Spring Boot  主要有如下优点:

        1、容易上手,提升开发效率,为Spring开发提供一个更快,更广泛的入门体验;

        2、开箱即用,远离繁琐的配置;

        3、提供了一系列大型项通用的非业务性功能,例如:内嵌服务器、安全管理、运行数据监控、运行状况检查和外部化配置等;

        4、没有代码生成,也不需要XML配置;

        5、避免大量的Maven导入和各种版本冲突;

Spring Boot是如何启动Tomcat的

1、首先,SpringBoot在启动时会先创建一个Spring容器;

2、在创建Spring 容器过程中,会利用@ConditionalOnClass技术来判断当前classpath中是否存在Tomcat依赖,如果存在则会生成一个启动Tomcat的Bean;

3、Spring容器创建完之后,就会获取启动Tomcat的Bean,并创建Tomcat对象,并绑定端口等,然后启动Tomcat;

Spring Boot的核心注解是哪个?它主要由哪几个注解组成的?

启动类上面的注解是@SpringBootApplication,它也是Spring Boot 的核心注解,主要组成包含一下3个注解:

        @SpringBootConfiguration:这个注解实际就是一个@Configuration注解,表示启动类也是一个配置类,实现配置文件的功能。

        @EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能:@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})。

        @ComponentScan: 表示扫描路径,因为默认是没有配置实际扫描路径,所以SpringBoot扫描的路径是启动类所在的当前目录

@Bean注解:用来定义Bean,类似于XML中的标签,Spring在启动时,会对加了@Bean注解的方法进行解析,将方法的名字做为beanName,并通过执行方法得到Bean对象

还有一些注解,比如: @Controller、@Service、@ResponseBody、@Autowired 

使用Spring Boot 开发分布式微服务时,我们面临一下问题:

1、与分布式系统相关的复杂性,这种开销包括网络问题,延迟开销,宽带问题,安全问题;

2、服务发现,服务发现工具管理群集中的流程和服务如何查找和互相交谈,它涉及一个服务目录,在该目录中注册服务,然后能够查找并连接到该目录中的服务;

3、冗余,分布式系统中的冗余问题;

4、负载平衡,负载平衡改善跨多个计算资源的工作负荷,诸如计算机、计算机集群、网络链路、中央处理单元,或磁盘驱动器的分布;

5、性能问题,由于各种运营开销导致的性能问题;

6、部署复杂性,Devops技能的要求;

负载平衡的意义

在计算机中,负载平衡可以改善跨计算机、计算机集群、网络链接、中央处理单元或磁盘驱动器等多种计算资源的工作负载分布。负载平衡旨在优化资源使用,最大化吞吐量,最小化响应时间并避免任何单一资源的过载。使用多个组件进行负载平衡而不是单个组件可能会通过冗余来提高可靠性和可用性。负载平衡通常涉及专用软件或硬件,例如多层交换机或域名系统服务器进程。

你可能感兴趣的:(Spring,Boot,分布式微服务使用,spring,boot,微服务,分布式)