![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
微服务
文章平均质量分 86
Still_Believe_
爱好编程C++,Java,Python。github主页:https://github.com/klc407073648
展开
-
elasticsearch_part3
elasticsearch主要介绍elasticsearch的数据分析与处理功能。数据聚合**聚合(aggregations)**可以让我们极其方便的实现对数据的统计、分析、运算。例如:什么品牌的手机最受欢迎?这些手机的平均价格、最高价格、最低价格?这些手机每月的销售情况如何?实现这些统计功能的比数据库的sql要方便的多,而且查询速度非常快,可以实现近实时搜索效果。聚合的种类聚合常见的有三类:**桶(Bucket)**聚合:用来对文档做分组TermAggregation:按照原创 2022-01-11 08:10:38 · 189 阅读 · 0 评论 -
elasticsearch_part2
elasticsearch主要介绍elasticsearch的数据搜索功能。参考资料安装elasticsearchelasticsearch官网DSL查询文档elasticsearch的查询依然是基于JSON风格的DSL来实现的。DSL查询分类Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括:查询所有:查询出所有数据,一般测试用。例如:match_all全文检索(full text)查询:利用分词原创 2022-01-09 09:00:00 · 202 阅读 · 0 评论 -
elasticsearch_part1
elasticsearch主要介绍elasticsearch的数据存储功能,包括索引库操作和文档操作。参考资料安装elasticsearchelasticsearch官网安装elasticsearch主要步骤:docker load -i 加载 es 和 kibana的镜像;docker run + 配置参数,依次启动es和kibana;在kibana提供的DevTools界面,编写DSL来操作elasticsearch;安装ik分词器、配置扩展词词典、以及再次测试验证。分词原创 2022-01-09 08:59:26 · 236 阅读 · 0 评论 -
微服务保护
微服务保护雪崩问题及解决方案雪崩问题微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务。如图,如果服务提供者I发生了故障,当前的应用的部分业务因为依赖于服务I,因此也会被阻塞。此时,其它不依赖于服务I的业务似乎不受影响。但是,依赖服务I的业务请求被阻塞,用户不会得到响应,则tomcat的这个线程不会释放,于是越来越多的用户请求到来,越来越多的线程会阻塞:服务器支持的线程和并发数有限,请求一直阻塞,会导致服务器资源耗尽,从而导致所有其它服务都不可用,那么当前服务也就不可用了原创 2022-01-09 08:58:56 · 334 阅读 · 0 评论 -
服务注册与发现
服务注册与发现本节主要介绍微服务架构中服务注册与发现的实例。Eureka注册中心假如我们的服务提供者user-service部署了多个实例,如图:思考几个问题:order-service在发起远程调用的时候,该如何得知user-service实例的ip地址和端口?有多个user-service实例地址,order-service调用时该如何选择?order-service如何得知某个user-service实例是否依然健康,是不是已经宕机?Eureka的结构和作用以SpringClo原创 2022-01-09 08:58:19 · 226 阅读 · 0 评论 -
服务网关知识
服务网关本节主要介绍微服务架构中服务网关的实例。Gateway服务网关Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。为什么需要网关Gateway网关是我们服务的守门神,所有微服务的统一入口。网关的核心功能特性:请求路由权限控制限流架构图:原创 2022-01-09 08:57:48 · 228 阅读 · 0 评论 -
分布式系统——幂等性设计
分布式系统——幂等性设计本节主要介绍分布式系统中幂等性设计的内容。参考资料幂等性解决方案分布式系统的接口幂等性设计幂等概念幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。编程中幂等操作的特点:任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法:可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。例如,“setTrue()”函数就是一个幂等函数,无论多次执行,其结果原创 2022-01-09 08:57:18 · 461 阅读 · 0 评论 -
分布式搜索
分布式搜索本节主要介绍微服务架构中分布式搜索的实例。初识elasticsearchelasticsearch的作用elasticsearch(ES)是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容例如:在GitHub搜索代码在电商网站搜索商品在百度搜索答案ELK技术栈elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域原创 2022-01-09 08:56:45 · 286 阅读 · 0 评论 -
分布式事务
分布式事务本节主要介绍分布式事务的内容。目录为什么学学习哪些怎么学事务的概念和目的概念:事务就是一组原子性的SQL查询,或者说是独立的工作单元。事务的ACID概念:原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durability)。目的:最终目的是保障数据的可靠性,一致性。分布式服务分布式服务案例:微服务下单业务,在下单时会调用订单服务,创建订单并写入数据库。然后订单服务调用账户服务和库存服务:账户服务负责原创 2022-01-09 08:56:14 · 87 阅读 · 0 评论 -
多级缓存知识
多级缓存本节主要介绍多级缓存的内容。概念传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,如图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kDX9jWAQ-1641689703265)(http://www.stibel.icu/wp-content/uploads/2022/01/micro_services/多级缓存/tomcat查询数据库.png)]从上述请求的流程可知,存在下面的问题:请求要经过Tomcat处理,T原创 2022-01-09 08:55:44 · 221 阅读 · 0 评论 -
安装elasticsearch
安装elasticsearch部署单点es创建网络因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络:docker network create es-net加载镜像这里我们采用elasticsearch的7.12.1版本的镜像,这个镜像体积非常大,接近1G。不建议大家自己pull。课前资料提供了镜像的tar包:大家将其上传到虚拟机中,然后运行命令加载即可:# 导入数据docker load -i es.tar同理还有kibana的tar原创 2022-01-09 08:54:50 · 73 阅读 · 0 评论 -
微服务消息队列
消息队列本节主要介绍微服务架构中消息队列的实例。初识MQ同步和异步通讯微服务间通讯有同步和异步两种方式:同步通讯:就像打电话,需要实时响应。异步通讯:就像发消息,发邮件,不需要马上回复。两种方式各有优劣,打电话可以立即得到响应,但是你却不能跟多个人同时通话。发送邮件可以同时与多个人收发邮件,但是往往响应会有延迟。同步通讯例如支付服务,若采用同步通讯需要分别调用订单服务、仓储服务、短信服务等内容,且随着业务的扩展,可能调用的服务越来越大。每次调用均需要改动支付服务的代码,耦合原创 2021-10-08 21:44:03 · 1111 阅读 · 0 评论 -
分布式事务
分布式事务本节主要介绍分布式事务的内容。目录为什么学学习哪些怎么学事务的概念和目的概念:事务就是一组原子性的SQL查询,或者说是独立的工作单元。事务的ACID概念:原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durability)。目的:最终目的是保障数据的可靠性,一致性。分布式服务分布式服务案例:微服务下单业务,在下单时会调用订单服务,创建订单并写入数据库。然后订单服务调用账户服务和库存服务:账户服务负责原创 2021-10-08 21:40:01 · 93 阅读 · 0 评论 -
微服务学习路线
微服务学习路线本节主要介绍微服务学习路线的内容。目录为什么学学习哪些怎么学为什么学 为什么要学习微服务框架知识:学习哪些 需要学习那些微服务知识:服务网关服务集群注册中心配置中心分布式缓存分布式搜索消息队列除了微服务相关内容之外,还涉及自动部署,运维以及发布:怎么学 根据上述微服务需要学习的知识,罗列出以下各个部分知识点:划分技术栈:微服务技术异步通信技术缓存技术DevOps技术搜索技术细化各个部分内容,更加有针对性的学习:微原创 2021-10-08 21:34:55 · 881 阅读 · 1 评论 -
微服务简介
微服务简介本节主要介绍微服务架构。单体架构简介在软件设计中,经常提及和使用经典的 3 层模型,即表示层、业务逻辑层和数据访问层。表示层:用于直接和用户交互,也称为交互层,通常是网页、UI 等。业务逻辑层:即业务逻辑处理层,例如用户输入的信息要经过业务逻辑层的处理后,才能展现给用户。数据访问层:用于操作数据库,用户在表示层会产生大量的数据,通过数据访问层对数据库进行读写操作。单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。单体架构的优缺点如下:优点:架构简单部署原创 2021-10-08 21:32:04 · 178 阅读 · 0 评论