微服务
小蚂蚁hjk
渣渣张
展开
-
微服务限流自定义算法
原创 2022-03-03 08:56:13 · 119 阅读 · 0 评论 -
gateway---------小结
一.添加配置信息的时候注意事项原创 2021-08-31 06:55:12 · 92 阅读 · 0 评论 -
Nacos 读取配置文件-------小记
nacos作为注册中心的时候,如果消费端调用过某服务,他会把该服务的IP和端口号缓存到本地,下次再调用的时候就是从本地缓存里面读取(源码里是调用后放再一个String类型的map集合里面存储到jvm内存中),如果没有调用过某服务,并且注册中心宕机这个时候是本地是没有缓存的,链接不到服务...原创 2021-08-29 08:06:31 · 1117 阅读 · 0 评论 -
springboot是如何实现配置文件自动加载的呢
springboot提倡: 约定大于配置springboot最常见的面试题:1.springboot是如何实现自动加载配置呢?2.如何写一个starter呢?带着问题,我们以mybatis-spring-boot-starter为例,看一下,Starter如何写,然后SpringBoot又是如何加载的.1.引入在springboot项目中引入mybatis是很简单的,只需要配置一个依赖. org.mybatis.spring.bootmybatis-spring-boot-starter原创 2020-11-21 10:25:20 · 1060 阅读 · 0 评论 -
消息驱动
什么是消息驱动?SpringCloud Stream消息驱动可以简化开发人员对消息中间件的使用复杂度,让系统开发人员更多尽力专注与核心业务逻辑的开发。SpringCloud Stream基于SpringBoot实现,自动配置化的功能可以帮助我们快速上手学习,类似与我们之前学习的orm框架,可以平滑的切换多种不同的数据库。目前SpringCloud Stream 目前只支持rabbitMQ和kafka消息驱动原理绑定器通过定义绑定器作为中间层,实现了应用程序与消息中间件...原创 2020-10-08 20:20:22 · 237 阅读 · 0 评论 -
SpringCloud Bus消息总线
在微服务架构中,通常会使用轻量级的消息代理来构建一个共用的消息主题来连接各个微服务实例,它广播的消息会被所有在注册中心的微服务实例监听和消费,也称消息总线。 SpringCloud中也有对应的解决方案,SpringCloud Bus 将分布式的节点用轻量的消息代理连接起来,可以很容易搭建消息总线,配合SpringCloud config 实现微服务应用配置信息的动态更新。消息代理属于中间件。设计代理的目的就是为了能够从应用程序中传入消息,并执行一些特别的操作。开源产品很多如ActiveM..原创 2020-10-08 19:17:08 · 129 阅读 · 0 评论 -
springboot整合springSecurity
1.引入maven依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version></parent><!-- 管理依赖 --><dependencyManage...原创 2020-09-28 21:30:41 · 160 阅读 · 0 评论 -
Springboot整合kafka
1.在pom中导入jar包 <dependency><groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency>2.添加配置文件信息package com.springboot.kafka.bean;import lombok.Data;import lombok.experi原创 2020-09-26 20:42:08 · 154 阅读 · 0 评论 -
微信自动发送消息接口开发
http://fengyitong.name/index.php/archives/26/http://fengyitong.name/index.php/archives/29/http://fengyitong.name/index.php/archives/30/原创 2021-07-22 11:37:52 · 702 阅读 · 0 评论 -
@Param什么时候使用
话不多说,直接上干货当我们dao接口的参数是一个对象时:如果你加上@Param注解,那么你在xml中取对象属性值时必须是对象 . 属性List<User> querySel(@Param("user")User user); select * from user <where> <if test="name != null"> name = #{user.name} ..转载 2020-09-20 19:41:51 · 463 阅读 · 0 评论 -
SpringBoot整合Security
项目中用到的是springBoot2.0然后做权限管理1.首先创建项目并引入依赖org.springframework.bootspring-boot-starter-parent2.0.1.RELEASEorg.springframework.cloudspring-cloud-dependenciesFinchley.M7pomimportorg.springframework.bootspring-boot-starter-weborg.projec原创 2020-09-20 19:37:05 · 255 阅读 · 0 评论 -
RabbitMq死信队列的使用
死信队列 是 当消息在一个队列 因为下列原因: 1.消息被拒绝(basic.reject或basic.nack)并且requeue=false. 2.消息TTL过期 3.队列达到最大长度(队列满了,无法再添加数据到mq中) 应用场景分析 在定义业务队列的时候,可以考虑指定一个死信交换机,并绑定一个死信队列,当消息变成死信时,该消息就会被发送到该死信队列上,这样就方便我们查看消息失败的原因了RabbitMQ解决分布式事务原理: 采用最终一致性原理。 需要保证以下三要素 1、确认生产者一定要将数据投递到M.原创 2020-09-17 21:05:12 · 321 阅读 · 0 评论 -
RabbitMq的重试机制以及解决幂等性问题
如何适合选择重试机制情况一:消费者获取消息后,调用第三方接口,但接口暂时无法访问,是否需要重试呢?答案:需要重试的 需要加以判断,并设置重试机制情况二:消费者获取消息后,抛出数据转换异常,是否需要重试?答案:不需要, 因为是程序出现异常,再重试多少次都没有用,需要改bug重新发布新版本才能解决问题解决方案:应采用日志记录——定时任务 job健康检查+人工进行补偿消费者如何保证消息幂等性,不被重复消费产生呢个原因:网络延迟传输中,会导致MQ重试,在充实的过程中,可能会导致成重复消费解决办法原创 2020-09-17 11:04:05 · 1393 阅读 · 0 评论 -
springboot整合Rabbitmq
Confirm 模式1.生产者Maven环境依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version> </parent> <.原创 2020-09-17 08:40:27 · 118 阅读 · 0 评论 -
项目中swagger的使用
在项目中我们的API文档有swagger来进行管理,每个服务模块都配有swagger来进行接口管理那么怎么实现swagger的同一管理呢,我们可以使用zuul网关来实现就是当前端访问相应服务的时候zull网关会根据服务ip去调响应的服务模块的swaggerAPI,在项目中的使用方法在每个模块中添加swagger的依赖<!-- swagger2 --><dependency><groupId>io.springfox</groupI原创 2020-09-14 21:29:04 · 1470 阅读 · 0 评论 -
消息中间件RabbitMq的使用
三种消息中间件的比较发布与订阅模式的使用1.首先在pom里面引入坐标com.rabbitmqamqp-client3.6.52.创建mq工具类public class MQConnectionUtils {public static Connection newConnection() throws IOException, TimeoutException { // 1.定义连接工厂 ConnectionFactory factory = new ConnectionFactor原创 2020-09-14 19:49:14 · 141 阅读 · 0 评论 -
微服务中的zull网关
1.接口在什么背景下产生的呢接口没有界面,接口在面向服务架构和微服务背景下产生目的就是为了解耦,rpc远程调用中产生的。2.接口的分类开放式接口例如微信公众号 支付宝扫码支付目的是可以授权一些接口权限OAuth2.0协议方式第三方联合登录内部接口一般只能在局域网中进行访问,服务于服务调用之间关系都在同一个微服务系统中目的是为了保证安全问题3.在工作中如果要涉及一个接口需要考虑如下问题接口权限(开放接口或者是内部接口)、考虑幂等性问题、安全性(HTTPS)防止篡改数据(验.原创 2020-09-09 09:46:12 · 301 阅读 · 0 评论 -
微服务中服务之间的调用feigin的使用
feigin的声明式服务调用1、引入jar包<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>2、在启动类上添加feigin客户端注解@SpringBootApplication@EnableEurekaCli原创 2020-09-04 13:53:20 · 867 阅读 · 0 评论 -
SpringCloud Config 分布式配置中心
1.分布式配置中心设计思想2.常见分布式配置中心框架对比3.搭建git环境存储配置文件4.搭建ConfigServer配置中心5.ConfigClient读取ConfigServer配置中心6.SpringCloudConfig实时刷新配置文件7.SpringCloudConfig设计原理分析首先在springcloud config可以实现微服务中的所有系统的配置文件的同一管理,而且还可以实现当配置文件发生变化的时候,系统会自动更新获取新的配置为什么要是用分布式的配置中心.原创 2020-08-31 20:41:01 · 128 阅读 · 0 评论 -
关于Hystrix的应用阐述
Hystrix 在微服务中主要用于服务的降级,服务熔断,服务隔离那么首先我们要知道他的使用场景Hystrix是怎么解决服务雪崩效应的呢?1.服务降级在高并发的状态下当大量请求堆积到服务c的时候如果超过他的最大调用极限会导致服务c调用失败,从而导致服务B和服务A一次的调用失败这就是服务的雪崩效应,这个时候我们该怎么去处理呢服务降级在高并发情况下,防止用户一直等待,使用降级的方式也就是返回客户端一个友好的提示信息如果调用其他接口超时的时候(默认是1秒钟),如果没有在一秒钟响应那么就直接执行服务降级原创 2020-08-30 21:50:32 · 168 阅读 · 0 评论