深度理解微服务

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

 ‍❄️ ‍❄️

 ♔博主昵称欢快↑㎡

博客主页欢快↑㎡的博客_CSDN博客-学习注意点杂记,BUG集,安装教程领域博主

⚇很方便的在线编辑器Lightly

感谢点赞评论收藏

相信吧我们很优秀还可以更加优秀加油让我们一起在写作中记录巩固学习吧


目录

微服务的优点缺点是什么

微服务优点

微服务缺点

微服务和单体项目区分

高性能高可用高并发项目必须用微服务吗

高可用关键节点越少可用性越高可替代性节点越多可用性越高

高性能

高并发

分布式id解决方案有那些

主键自动加1 有 什么缺点

单体项目

竟争对手获取数据   id从1开始容易被获取数据

获取商业机密相隔24小时分别注册一个账号可以通过知道每天产生多少的订单

分布式项目

实现分布式id

主键加1的优点是什么

框架的高扩展如何实现


微服务的优点缺点是什么

单体项目存在的问题当然处于成本和效率来看单体项目还是更有优势一般开发是会先采用单体项目等到必要时才会再采用微服务

  1. 只能使用一种技术包括开发语言框架技术
  2. 有多个模块的情况下一个模块不能独立上线
  3. 上线后一个模块出了问题别的模块也不能运行模块之间耦合性比较高

微服务优点

  1. 可以使用不同的技术栈包括不同开发语言开发的项目模块
  2. 模块之间耦合性小可以独立上线独立部署独立升级
  3. 每个模块可以独立运行不会影响其他的模块
  4. 不同模块可以使用不同数量的服务器

微服务缺点

  1. 整个体统复杂度变高
  2. 运维变难
  3. 数据一致性变难
  4. 单个微服务开发简单开发效率提高整个系统开发变复杂

微服务和单体项目区分

微服务项目多个微服务提供者+nacos+gateway+sentinel+链路跟踪

单体项目一个系统的代码全放在一个project中一般来说在开发中就算把项目拆开没有使用过微服务技术也算是单体项目


高性能高可用高并发项目必须用微服务吗

高可用关键节点越少可用性越高可替代性节点越多可用性越高

高性能

  1. 用缓存
  2. 减少关键节点
  3. 设置cpu频率
  4. nginx进程与cpu内核进行绑定进程结束的话可能会切换内核降低效率
  5. 调整linux,tomcat,mysql参数
  6. 读写分离
  7. 静态化

高并发

  1. 使用高性能技术
  2. 集群
  3. 限流
  4. 消息对列
  5. 拆key
  6. 每隔一段时间同步一次不要即时同步并发量会倍数的

分布式id解决方案有那些

主键自动加1 有 什么缺点

单体项目

  1. 竟争对手获取数据   id从1开始容易被获取数据

  2. 获取商业机密相隔24小时分别注册一个账号可以通过知道每天产生多少的订单

分布式项目

单表的数据不要超过5000万行可能会分库分表来解决

分库分表id可能会重复

实现分布式id

美团leaf是通过id段号码段分片提高并发

主键加1的优点是什么

主键自动建立索引速度快。

有了索引后添加数据时索引要修改要移动索引

只有主键有索引添加数据索引不会发生移动


框架的高扩展如何实现

  1. 多态implements接口或extends父类
  2. 加注解@RestController
  3. Aop切面动态代理
  4. 责任链
  5. spi,反射
  6. 热部署
  7. 消息队列开闭原则可以用aop多态
  8. 注册中心

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6