DeathWhispers

微服务面试题

微服务面试题 什么是微服务架构 微服务架构风格是一种将单个应用程序开发为一组小服务的方法,每个服务都在自己的进程中进行,并通过轻量级机制进行服务之间交互。这些服务基于业务能力构建的,可以通过全自动部署机制独立部署。通常情况下我们很少去集中化去管理这些服务,而且这些服务可以用不同的编程语言编写,并使用不同的数据存储技术 微服务的优缺点 优点 每个微服务都很小,这样能聚焦一个指定...

微服务的常用组件

Netflix组件Eureka:注册中心(服务注册与发现)(已停更)Feign:远程调用(封装了一些请求),参数组合(已停更)Ribbon:负载均衡(与Feign结合使用),找一个具体的机器Hytrix:熔断器。客户端调用远程服务时熔断,不影响客户端应用(已停更)zuul:服务端网关(路由)(已停更) Config:统一配置中心。保证配置统一,保证敏感信息安全(加密) Spring Cl...

微服务的优缺点

简介 微服务是一种架构风格,通过将大型的单体应用划分为比较小的服务单元,从而降低整个系统的复杂度。 优点 服务部署更灵活:每个应用都可以是一个独立的项目,可以独立部署,不依赖于其他服务,耦合性降低。 技术更新灵活:在大型单体应用中,技术要进行更新,往往是非常困难的。而微服务可以根据业务特点,灵活选择技术栈。 应用的性能得到提高:大型单体应用中,往往启动就会成为一个很大的难...

如果有大量的 key 需要设置同一时间过期,一般需要注意什么?

如果有大量的 key 需要设置同一时间过期,一般需要注意什么? 如果大量的 key 过期时间设置的过于集中,到过期的那个时间点,Redis可能会出现短暂的卡顿现象。 一般需要在时间上加一个随机值,使得过期时间分散一些。 上次基友也碰到这个问题,请教了下,他的方案是调大 hz 参数,每次过期的 key 更多,从而最终达到避免一次过期过多。 这个定期的频率,由配置文件中的 hz 参数决定...

如何设计一个分布式锁?如何对锁性能进行优化?

如何设计一个分布式锁?如何对锁性能进行优化? 分布式锁的本质:就是在所有进程都能访问到的一个地方设置一个锁资源,让这些进程都来竞争锁资源。(保证只有一个进程获取资源)数据库、zookeeper、redis等。通常对于分布式锁,会要求响应快、性能高、与业务无关。 如何使用redis实现分布式锁 SETNX key value:当key不存在时,将key设置为value,并返回1。如果ke...