微服务
文章平均质量分 87
涉洧
鱼跃此时海,花开彼岸间
展开
-
knife4j实现微服务swagger文档聚合
在项目开发过程中,接口文档的使用是在所难免的,但是在微服务场景下,多个服务之间的swagger是分散的,虽然swagger提供了微服务的聚合方式,配置过于繁琐,加之swagger本身的功能比较少,而且ui布局也比较蛋痛,此处推荐一款新框架用于增强swagger以及实现微服务接口文档的聚合knife4j官方文档:https://doc.xiaominfo.com/docs/此处使用文档中提供的方式。原创 2023-07-08 15:23:37 · 908 阅读 · 0 评论 -
[微服务]多级缓存
Lua是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。官网httpsLua经常嵌入到C语言开发的程序中,例如游戏开发、游戏插件等。Nginx本身也是C语言开发,因此也允许基于Lua做拓展。,译意为水道/管道/沟渠,canal是阿里巴巴旗下的一款开源项目,基于Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。GitHub的地址https。...原创 2022-08-01 09:41:07 · 150 阅读 · 0 评论 -
[微服务]分布式事务解决方案-Seata
本地事务,也就是传统的单机事务,在传统的数据库事务中,必须满足四个原则,即acid原则。原创 2022-07-29 20:34:24 · 304 阅读 · 0 评论 -
spring security
Spring是非常流行和成功的Java应用开发框架,Spring Security正是Spring家族中的成员。Spring Security基于Spring框架,提供了一套Web应用安全性的完整解决方案。正如你可能知道的关于安全方面的两个主要区域是“认证”和“授权”(或者访问控制),一般来说,Web应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分,这两点也是Spring Security重要核心功能。“Spring Security 开始于 2003原创 2022-07-17 19:43:20 · 456 阅读 · 0 评论 -
[微服务]Elasticsearch--分布式搜索引擎01--入门与基础操作
Elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容例如:在GitHub搜索代码在电商网站搜索商品在百度搜索答案elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域:而elasticsearch是elastic stack的核心,负责存储、搜索、分析数据。elasticsearch底层是基于lucene来实现的。Lucene是一个Java原创 2022-07-09 21:39:39 · 372 阅读 · 0 评论 -
【微服务】消息队列MQ之RabbitMQ
微服务间通讯有同步和异步两种方式:同步通讯:就像打电话,需要实时响应。异步通讯:就像发邮件,不需要马上回复。两种方式各有优劣,打电话可以立即得到响应,但是你却不能跟多个人同时通话。发送邮件可以同时与多个人收发邮件,但是往往响应会有延迟。Feign调用就属于同步方式,虽然调用可以实时得到结果,但存在下面的问题:总结:同步调用的优点:同步调用的问题:异步调用则可以避免上述问题:我们以购买商品为例,用户支付后需要调用订单服务完成订单状态修改,调用物流服务,从仓库分配响应的库存并准备发货。在事件模式中,支付服务是事原创 2022-07-07 19:14:06 · 460 阅读 · 0 评论 -
[微服务]docker
微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题:依赖关系复杂,容易出现兼容性问题开发、测试、生产环境有差异例如一个项目中,部署时需要依赖于node.js、Redis、RabbitMQ、MySQL等,这些服务部署时所需要的函数库、依赖项各不相同,甚至会有冲突。给部署带来了极大的困难。而Docker确巧妙的解决了这些问题,Docker是如何实现的呢?Docker为了解决依赖的兼容问题的,采用了两个手段:将应用的Libs(函数库)、原创 2022-07-06 09:06:53 · 107 阅读 · 0 评论 -
[微服务]API 路由管理--Gateway网关
Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。Gateway网关是我们服务的守门神,所有微服务的统一入口。网关的核心功能特性:权限控制:网关作为微服务入口,需要校验用户是是否有请求资格,如果没有则进行拦截。路由和负载均衡:一切请求都必须先经过gateway,但网关原创 2022-07-06 09:05:33 · 1065 阅读 · 0 评论 -
[微服务]声明式http客户端---Feign
RestTemplate发起远程调用的代码存在下面的问题:•代码可读性差,编程体验不统一•参数复杂URL难以维护Feign是一个声明式的http客户端,官方地址:https://github.com/OpenFeign/feign其作用就是帮助我们优雅的实现http请求的发送,解决上面提到的问题。添加注解在order-service的启动类添加注解开启Feign的功能:在order-service中新建一个接口,内容如下:自定义feign配置Feign可以支持很多的自定义配置,如下表所示:一般情况下原创 2022-07-06 09:03:55 · 178 阅读 · 0 评论 -
Nacos安装指南
开发阶段采用单机安装即可。在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码:GitHub主页:https://github.com/alibaba/nacosGitHub的Release下载页:https://github.com/alibaba/nacos/releases如图:将这个包解压到任意非中文目录下,如图:目录说明:Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。如果无法关闭占用8848端口的进程,也可以进入原创 2022-06-23 21:22:44 · 212 阅读 · 0 评论 -
[微服务]Nacos
Nacos是SpringCloudAlibaba的组件,而SpringCloudAlibaba也遵循SpringCloud中定义的服务注册、服务发现规范。因此使用Nacos和使用Eureka对于微服务来说,并没有太大区别。主要差异在于:在cloud-demo父工程的pom文件中的中引入SpringCloudAlibaba的依赖:然后在user-service和order-service中的pom文件中引入nacos-discovery依赖:配置nacos地址重启一个服务可以有多个实例,例如我们原创 2022-06-23 21:18:51 · 288 阅读 · 0 评论 -
[微服务]Eureka
order-service 如何得知 user-service 实例地址?order-service 如何从多个 user-service 实例中选择具体的实例?order-service从实例列表中利用负载均衡算法选中一个实例地址,向该实例地址发起远程调用order-service 如何得知某个 user-service 实例是否依然健康,是不是已经宕机?引入 SpringCloud 为 eureka 提供的 starter 依赖,注意这里是用 server引入依赖配置文件其中 是因为前面配置类开启原创 2022-06-23 21:17:52 · 91 阅读 · 0 评论 -
[微服务]springCould
SpringCloud 是目前国内使用最广泛的微服务框架。官网地址:https://spring.io/projects/spring-cloud。SpringCloud 集成了各种微服务功能组件,并基于 SpringBoot 实现了这些组件的自动装配,从而提供了良好的开箱即用体验。其中常见的组件包括:另外,SpringCloud 底层是依赖于 SpringBoot 的,并且有版本的兼容关系,如下:服务拆分注意事项需求:查询订单的同时,把订单所属的用户消息一起返回解决方案:跨服务调用借助RestTempl原创 2022-06-23 21:15:50 · 86 阅读 · 0 评论 -
[微服务]认识微服务
单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。**优点:**架构简单,部署成本低**缺点:**耦合度高(维护困难、升级困难)分布式架构:根据业务功能对系统做拆分,每个业务功能模块作为独立项目开发,称为一个服务。**优点:**降低服务耦合,有利于服务升级和拓展**缺点:**服务调用关系错综复杂分布式架构虽然降低了服务耦合,但是服务拆分时也有很多问题需要思考:人们需要制定一套行之有效的标准来约束分布式架构。微服务的架构特征:微服务的上述特性其实是在给分布式架构制定一个标准,进一步降低服务之间的原创 2022-06-23 21:14:47 · 93 阅读 · 0 评论