微服务
文章平均质量分 87
微服务学习
多比朋友
互联网资深冲浪者
展开
-
Feign远程调用
Feign可以支持很多的自定义配置,如下表所示:一般情况下,默认值就能满足我们使用,如果要自定义时,只需要创建自定义的@Bean覆盖默认Bean即可。原创 2023-03-29 19:43:27 · 1131 阅读 · 0 评论 -
Redis代替session 实现登录流程
当注册完成后,用户去登录会去校验用户提交的手机号和验证码,是否一致,如果一致,则根据手机号查询用户信息,不存在则新建,最后将用户数据保存到redis,并且生成token作为redis的key,当我们校验用户是否登录时,会去携带着token进行访问,从redis中取出token对应的value,判断是否存在这个数据,如果没有则拦截,如果存在则将其保存到threadLocal中,并且放行。,然后让前端带来这个token就能完成我们的整体逻辑了。在设计这个key的时候,我们之前讲过需要满足两点。原创 2023-10-01 12:23:02 · 388 阅读 · 0 评论 -
缓存更新策略
缓存更新是redis为了节约内存而设计出来的一个东西,主要是因为内存数据宝贵,当我们向redis插入太多数据,此时就可能会导致缓存中的数据过多,所以redis会对部分数据进行更新,或者把他叫为淘汰更合适。原创 2023-09-10 12:18:38 · 536 阅读 · 0 评论 -
RedisJava基础代码实现
整体可读性有了很大提升,并且能将Java对象自动的序列化为JSON字符串,并且查询时能自动把JSON反序列化为Java对象。不过,其中记录了序列化时对应的class名称,目的是为了查询时实现自动反序列化。这会带来额外的内存开销。原创 2023-09-08 15:30:51 · 340 阅读 · 0 评论 -
RabbitMQ高级特性
firehose的机制是将生产者投递给rabbitmq的消息,rabbitmq投递给消费者的消息按照指定的格式发送到默认的exchange上。其中exchangename和queuename为实际exchange和queue的名称,分别对应生产者投递到exchange的消息,和消费者从queue上获取的消息。是指,当消息一旦被Consumer接收到,则自动确认收到,并将相应 message 从 RabbitMQ 的消息缓存中移除。在RabbitMQ中也提供了事务机制,但是性能较差,此处不做讲解。原创 2023-09-06 17:22:48 · 574 阅读 · 0 评论 -
RabbitMQ基础
MQ全称消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进 行通信。AMQP,即 Advanced Message Queuing Protocol(高级消息队列协议),是一个网络协议,是应用层协议 的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中 间件不同产品,不同的开发语言等条件的限制。2006年,AMQP 规范发布。类比HTTP。原创 2023-09-05 18:05:20 · 1038 阅读 · 0 评论 -
Dubbo
Dubbo实现多种语言,为所有主流语言提供对等的微服务开发体验作为一款微服务框架,最重要的是向用户提供跨进程的 RPC 远程调用能力。如上图所示,Dubbo 的服务消费者(Consumer)通过一系列的工作将请求发送给服务提供者(Provider)。在数据面,作为一款微服务框架最重要的是向用户提供跨进程的 RPC 远程调用能力,在控制面,作为微服务的抽象控制面,Dubbo由一系列可选的微服务治理组件构成,负责Dubbo集群的服务发现,流量管控,可视化监测等。原创 2023-09-03 18:10:49 · 242 阅读 · 0 评论 -
zookeeper
是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。简单来说zookeeper=文件系统+监听通知机制。原创 2023-08-30 10:51:47 · 721 阅读 · 0 评论 -
安装Docker
Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。Docker CE 分为stabletest和nightly三个更新频道。官方网站上有各种环境下的,这里主要介绍 Docker CE 在 CentOS上的安装。原创 2023-04-20 09:51:22 · 463 阅读 · 1 评论 -
Gateway服务网关
需求:定义全局过滤器,拦截请求,判断请求的参数是否满足下面条件:参数中是否有authorization,authorization参数值是否为admin如果同时满足则放行,否则拦截@Component@Override// 1.获取请求参数// 2.获取参数中的 authorization 参数// 3.判断参数值是否等于 admin// 4.是,放行// 5.否,拦截// 5.1.设置状态码// 5.2.拦截请求@Override。原创 2023-04-17 09:26:34 · 713 阅读 · 0 评论 -
Nacos集群搭建
官方给出的Nacos集群图:其中包含3个nacos节点,然后一个负载均衡器代理3个Nacos。这里负载均衡器可以使用nginx。原创 2023-03-29 18:40:58 · 1045 阅读 · 1 评论 -
Nacos配置管理
{spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}作为文件id,来读取配置。当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。其实微服务启动时,会去nacos读取多个配置文件,而[spring.application.name].yaml不包含环境,因此可以被多个环境共享。原创 2023-03-17 20:59:31 · 1299 阅读 · 0 评论 -
Nacos注册中心
国内公司一般都推崇阿里巴巴的技术,比如注册中心,SpringCloudAlibaba也推出了一个名为Nacos的注册中心。认识和安装Nacos是阿里巴巴的产品,现在是中的一个组件。相比功能更加丰富,在国内受欢迎程度较高。服务注册到nacosNacos是SpringCloudAlibaba的组件,而SpringCloudAlibaba也遵循SpringCloud中定义的服务注册、服务发现规范。因此使用Nacos和使用Eureka对于微服务来说,并没有太大区别。主要差异在于:依赖不同服务地址不同。原创 2023-02-11 15:27:14 · 408 阅读 · 1 评论 -
Nacos安装指南
Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。windows版本使用nacos-server-1.4.1.zip包即可。Nacos依赖于JDK运行,索引Linux上也需要安装JDK才行。上传到某个目录,例如:/usr/local/如果无法关闭占用8848端口的进程。开发阶段采用单机安装即可。1.Windows安装。然后重命名为java。原创 2023-02-11 05:22:14 · 184 阅读 · 0 评论 -
Eureka 和 Ribbon
SpringCloud底层是依赖于SpringBoot的,并且有版本的兼容关系。:根据业务功能对系统做拆分,每个业务功能模块作为独立项目开发,称为一个服务。单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责。:将业务的所有功能集中在一个项目中开发,打成一个包部署。隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题。自治:团队独立、技术独立、数据独立,独立部署和交付。面向服务:服务提供统一标准的接口,与语言和技术无关。有利于服务升级和拓展。服务调用关系错综复杂。原创 2023-02-11 05:04:41 · 184 阅读 · 0 评论