什么是微服务?

 

 

 

 2.微服务的优缺点

优点

  • 单一职责原则
  • 每个服务足够内聚,足够小,代码容易理解,这样能聚焦一个指定的业务功能或业务需求;
  • 开发简单,开发效率提高,一个服务可能就是专一的只干一件事;
  • 微服务能够被小团队单独开发,这个小团队是2-5人的开发人员组成;
  • 微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。
  • 微服务能使用不同的语言开发。
  • 易于和第三方集成,微服务允许容易且灵活的方式集成自动部署,通过持续集成工具,如:jenkinns,Hudson,bamboo
  • 微服务易于被一个开发人员理解,修改和维护,这样小团队能够更关注自己的工作成果,无需通过合作才能体现价值。
  • 微服务允许你利用融合最新技术。
  • 微服务只是业务逻辑的代码,不会和HTML,CSS或其他界面混合。

  • 每个微服务都有自己的存储能力,可以有自己的数据库,也可也有统一数据库

缺点

  • 开发人员要处理分布式系统的复杂性
  • 多服务运维难度,随着服务的增加,运维的压力也在增大
  • 系统部署依赖
  • 服务间通信成本
  • 数据一致性
  • 系统集成测试
  • 性能监控。。。

3.微服务有哪些技术栈

微服务相关技术栈

微服务条目

落地技术

服务开发 SpringBoot.Spring,SpringMvc 服务配置与管理 Netflix公司的Archaius、案例的Diamond等 服务注册与发现 Eurerka,Consul,zookeeper等 服务调用 Rest、RPC、gPRC 服务熔断器 Hystrix、Envoy等 负载均衡 Ribbon、Nginx等 服务接口调用(客户端调用服务的简化工具) Feign等 消息列队 Kafka、RaabbitMQ、ActiveMQ等 服务配置中心管理 SpringCloudConfig、Chef等 服务路由(API网关) Zuul等 服务监控 Zabbix、Nagios、Metrics、Specatator等

全链路追踪

Zipkin、Brave、Dapper等 服务部署

Docker、OpenStack、Kubernetes等

数据流操作开发包 SpringCloud Stream(封装与Redis、Rabbit。Kafka等发送接收消息)
事件消息总线SpringCloud Bus

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/74615.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CVPR 2023 | 用户可控的条件图像到视频生成方法(基于Diffusion)

注1:本文系“计算机视觉/三维重建论文速递”系列之一,致力于简洁清晰完整地介绍、解读计算机视觉,特别是三维重建领域最新的顶会/顶刊论文(包括但不限于 Nature/Science及其子刊; CVPR, ICCV, ECCV, NeurIPS, ICLR, ICML, TPAMI, IJCV 等)。 本次介绍的论…

python办公自动化有用吗?,python办公自动化能干啥

这篇文章主要介绍了python自动化办公真的有用吗 知乎,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。 Hello大家好,我是小猴紫,一个帅气、善良、勇敢、正…

Unity ARFoundation 配置工程 (Android)

注意: 1、AR Core是Google的产品,因为谷歌制裁华为,所以 有些 华为机可能不支持AR Core的软件; 2、手机在设置里搜索Google Play,看看是否已经安装上了,如果没有装此服务,去商城里搜索Google Pl…

机器人CPP编程基础-01第一个程序Hello World

很多课程先讲C/C或者一些其他编程课,称之为基础课程。然后到本科高年级进行机器人专业课学习,这样时间损失非常大,效率非常低。 C/单片机/嵌入式/ROS等这些编程基础可以合并到一门课中进行实现,这些素材已经迭代三轮以上&#xf…

脚本一键生成通用接口,一分钟实现增删改查

直接使用无需看此配置 快速生成通用接口业务配置 : https://blog.zysicyj.top/2023/08/14/快速生成通用接口业务配置 一、插件安装 二、脚本 关注绿色聊天软件【程序员朱永胜】回复:1013 下载 三、使用 拷贝到扩展目录下 修改mybatisCodehelper.vm 修改i…

说一下什么是tcp的2MSL,为什么客户端在 TIME-WAIT 状态必须等待 2MSL 的时间?

1.TCP之2MSL 1.1 MSL MSL:Maximum Segment Lifetime报文段最大生存时间,它是任何报文段被丢弃前在网络内的最长时间 1.2为什么存在MSL TCP报文段以IP数据报在网络内传输,而IP数据报则有限制其生存时间的TTL字段,并且TTL的限制是基于跳数 1.3…

mysql中在有数据的表中新增一个主键处理方案

需求:因为业务需要修改表中原来的主键为新增的字段; 处理方案: 1、先将表名修改一下; 2、新增一个一样的表结构,表名与原表名一致,多了一个主键(自增)的字段; 3、把原…

ubuntu中安装python

最简单方便的是 apt 使用第三方的 ppa 源,然后直接 apt 安装 python3.9 安装 software-properties-common 获取add-apt-repository命令:apt install -y software-properties-common添加第三方的 ppa 源:add-apt-repository ppa:deadsnakes/p…

【一场专属于开发者的盛会!】------NPCon2023 AI模型技术与应用峰会(北京站)

2023年8月12日,由CSDN官方举办的2023年-NPCon2023 AI模型技术与应用峰会(北京站)在北京格兰云天大酒店荣重召开! 话不多说!上图~~~ 目录 【会议展望】 【大咖宣讲】 【CSDN活动介绍】 【开谈环节,我有句话说】 【现场人气】…

简单入门seleniumUI自动化测试

目录 一、selenium的介绍 二、selenium的原理 三、selenium的八种元素定位的方法 1、ID定位: 2 、name定位: 3、class定位: 4、tag定位: 5、link_text定位: 6、partial_link_text定位: 7、css定位…

【UniApp开发小程序】小程序首页(展示商品、商品搜索、商品分类搜索)【后端基于若依管理系统开发】

文章目录 界面效果界面实现工具js页面首页让文字只显示两行路由跳转传递对象将商品分为两列显示使用中划线划掉原价 后端商品controllerservicemappersql 界面效果 【说明】 界面中商品的图片来源于闲鱼,若侵权请联系删除关于商品分类页面的实现,请在我…

基于 ObjectOutputStream 实现 对象与二进制数据 的序列化和反序列化

目录 为什么要进行序列化呢? 如何实现 对象与二进制数据 的序列化和反序列化? 为什么要进行序列化呢? 主要是为了把一个对象(结构化的数据)转化成一个 字符串 / 字节数组,方便我们存储(有时候需…

AWS——03篇(AWS之Amazon S3(云中可扩展存储)-01入门)

AWS——03篇(AWS之Amazon S3(云中可扩展存储)-01入门) 1. 前言2. 关于 Amazon S32.1 介绍2.1.1 简述2.1.2 详细介绍 2.2 Amazon S3 好处和功能2.3 3. 创建S3存储桶3.1 创建存储桶3.2 修改访问权限 4. 简单实用4.1 上传图片文件4.2…

海量数据迁移,亚马逊云科技云数据库服务为大库治理提供新思路

1.背景 目前,文档型数据库由于灵活的schema和接近关系型数据库的访问特点,被广泛应用,尤其是游戏、互联网金融等行业的客户使用MongoDB构建了大量应用程序,比如游戏客户用来处理玩家的属性信息;又如股票APP用来存储与时…

SpringBoot复习:(44)MyBatisAutoConfiguration

可以看到MyBatisAutoConfiguration引入了MyBatisProperties这个属性: MyBatisAutoConfiguration中配置了一个SqlSessionFactoryBean,代码如下: 可以配置mybatis-config.xml,需要配置文件里指定: mybatis.config-locationclasspath:/mybat…

【环境配置】Windows 10 安装 PyTorch 开发环境,以及验证 YOLOv8

Windows 10 安装 PyTorch 开发环境,以及验证 YOLOv8 最近搞了一台Windows机器,准备在上面安装深度学习的开发环境,并搭建部署YOLOv8做训练和测试使用; 环境: OS: Windows 10 显卡: RTX 3090 安…

笔记04:全局内存

一、CUDA内存模型概述 寄存器、共享内存、本地内存、常量内存、纹理内存和全局内存 一个核函数中的线程都有自己私有的本地内存。 一个线程块有自己的共享内存,对同一个线程块中所有的线程都可见,其内容持续线程块的整个生命周期。 所有线程都可以访问…

【LeetCode动态规划#】完全背包问题实战(单词拆分,涉及集合处理字符串)

单词拆分 给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s "l…

手把手教你 Vue3 + vite + Echarts 5 +TS 绘制中国地图,看完就会

废话不多说,看图! 本篇文章介绍 Vue3 vite TS 项目内使用 Echarts 5 绘制中国地图,标记分布点!之前没有接触过 Echarts 的,可以先去官方示例看看,里面图形特别齐全。但是官方文档看着费劲的,太…

铁是地球科学争论的核心

一项新的研究调查了地球内部铁的形态。这些发现对理解内核的结构产生了影响。 一项新的研究探索了地球内核的铁结构,如图中的黄色和白色所示。 资料来源:地球物理研究快报 地球内核以铁为主,铁可以多种晶体形式作为固体材料存在。&#xff08…