工作常见问题汇总

本文汇总了Java开发中遇到的一些常见问题,包括jar包冲突、Eureka高可用配置、Ribbon与Nginx的负载均衡区别、ES数据同步、HLS工作原理等。还涉及了异常处理、权限认证、分布式事务、定时任务、锁机制等多个技术点,是开发者日常工作的实用参考。
摘要由CSDN通过智能技术生成
  1. 在服务无法启动得时候,需要首先考虑得问题就是:jar包冲突的问题,这个时候jar包冲突得话,会在一些类无法自动的导入进去。
  2. 凡是报错due to a StackOverflowError. Possible root causes include a too low就是因为jar包的相互依赖出现的问题,这个其实就是jar包冲突 。
  3. 再hibernate的映射文件配置的时候,不能将映射文件放入到依赖的jar包当中,因为无法扫描到。
  4. eureka如何保证他的高可用呢?其实就是相互注册服务,因为自己的服务在自己的注册中心是可以见的,那么只需要注册上另外机器的服务即可。
  5. 在注册中心服务端,需要添加注释为:@EnableEurekaServer,标志此工程是一个enreka server,负责提供注册中心。
  6. 在客户端,需要去将自己服务端注册到注册中心,那么需要注释:@EnableDiscoveryClient,标志此工程需要去发现服务。
  7. Ribbon是一个基于客户端的负载均衡器。而nginx是基于服务器端的负载均衡器。
  8. 服务器端负载均衡:例如Nginx,通过Nginx进行负载均衡,先发送请求,然后通过负载均衡算法,在多个服务器之间选择一个进行访问;即在服务器端再进行负载均衡算法分配。客户端负载均衡:例如spring cloud中的ribbon,客户端会有一个服务器地址列表,在发送请求前通过负载均衡算法选择一个服务器,然后进行访问,这是客户端负载均衡;即在客户端就进行负载均衡算法分配。
  9. Ribbon其实就是通过restTemplate来实现远程调用的,底层使用的是okhttp,负载均衡就是依靠注释@LoadBalanced实现的。
  10. 远程接口的调用要是能够像调用本地的服务一样调用那该多好,所以就有了feign+ribbon。使用的方式为:
  11. @FeignClient(value = "MANAGER_CMS")
    public interface TestFeign {
    
        // 通过feign远程调用接口(可见feign也是集成了spring mvc)
        @GetMapping("/cms/page/get/{id}")
        public CmsPage getCmsPageById(@PathVariable("id") String id);
    }

    调用者:

  12. @EnableFeignClients // 标识FeignClient,开启后会扫描所有FeignClient的bean
    @SpringBootTest
    @RunWith(SpringRunner.class)
    public class TestController {
    
        @Autowired
        TestFeign testFeign; // 其实就是个代理对象
    
        @Test
        public void findTeachplanList(){
            // 开始远程调用
            CmsPage sssss = testFeign.getCmsPageById("sssss");
        }
    }

     

  13. ES的数据节点和主节点,数据节点就是专存储数据,主节点就是专门进行管理分节点,不存储数据。

  14. ES的索引如何与数据库同步呢?可以使

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值