• 开箱即用!看看人家的微服务权限解决方案,那叫一个优雅

    前置知识我们将采用Nacos作为注册中心,Gateway作为网关,使用Sa-Token提供的微服务权限解决方案,此方案是基于之前的解决方案改造的应用架构还是和之前方案差不多的思路,认证服务负责登录处理,网关负责登录认证和权限认证,其他API服务负责处理自己的业务逻辑。为了能在多个服务中共享Sa-Token的Session,所有服务都需要集成Sa-Token和Redis。micr...

    微服务 2021年08月25日 1089 0
  • 企业级技术中台微服务架构Eurynome Cloud简介

    企业级技术中台微服务架构与服务能力开发平台Eurynome Cloud是一款企业级微服务架构和服务能力开发平台。基于Spring Boot 2.5.4、Spring Cloud 2020.0.3、Spring Cloud Alibaba 2021.1、Nacos 2.0.3 等最新版本开发,遵循SpringBoot编程思想,高度模块化和可配置化。具备服务发现、配置、熔断、限流、...

    微服务 2021年08月23日 1160 0
  • 微服务网关如何防止雪崩?阿里开源项目之Sentinel限流、熔断

    目录前言Sentinel是什么部署Sentinel DashboardSentinel对网关的支持网关限流规则网关流控实现原理总结前言为什么需要服务熔断和降级?微服务是当前业界的一大趋势,原理就是将单一职责的功能模块独立化为子服务,降低服务间的耦合,服务间互相调用。但是这样也会出现一些问题:上图中大量微服务互相调用,存在大量的依赖关系,难免会出现某个服务故障,如ServiceD...

    微服务 2021年07月28日 1721 0
  • 建设微服务API网关的一些实践

    随着这些年微服务的流行,API网关已经成为微服务架构中不可或缺的一环。一方面它承担着服务对外的唯一门户,一方面它提取了许多应用的共性功能。整体架构我们的Api网关目前的架构如上所示,可以看到Api网关处于一个什么位置,往上承接所有的南北流量,往下会分发流量到微服务应用或者BFF聚合应用,在BFF规范化之前我们仍然将其视为一个普通微服务应用。目前Api网关实现的功能包括请求分发、...

    微服务 2021年07月22日 1245 0
  • springcloud微服务实战:服务网关,Gateway

    服务网关: Spring Cloud Gateway前面已经介绍了基于Spring Cloud搭建微服务框架所需要的必需组件,利用这些组件再配合客户端就可以构建出一个完整的系统。但在实际应用场景中,每一个微服务都会部署到内网服务器中,或者禁止外部访问这些端口,这是对应用的一种安全保护机制。因此,我们如果想通过互联网来访问这些服务,需要一个统一的入口,这就是本章将介绍的微服务的又...

    微服务 2021年07月21日 1664 0
  • OAuth2+JWT 实现权限验证

    前言微服务架构下统⼀认证思路主要有两种形式:1、基于 Session 的认证⽅式在分布式的环境下,基于 session 的认证会出现⼀个问题,每个应⽤服务都需要在session中存储⽤户身份信息,通过负载均衡将本地的请求分配到另⼀个应⽤服务需要将 session 信息带过去,否则会重新认证。我们可以使⽤ Session 共享、Session 黏贴等⽅案。Session ⽅案也有...

    微服务 2021年07月21日 1179 0
  • 微服务优雅下线与Nacos健康检查机制详解

    先抛出一个问题Nacos的健康检查和心跳机制到底是如何实现的呢?在项目实践中是否又可以参考Nacos的健康检查机制,运用于其他地方呢?这篇文章,就带大家来揭开Nacos健康检查机制的面纱。Nacos的健康检查Nacos中临时实例基于心跳上报方式维持活性,基本的健康检查流程基本如下:Nacos客户端会维护一个定时任务,每隔5秒发送一次心跳请求,以确保自己处于活跃状态。Nacos服...

    微服务 2021年07月09日 5628 1
  • 借助Nacos完成网关路由动态配置、灰度发布、服务优雅上下线

    随着业务和架构的发展,微服务的开发部署方式已经变成了如今技术发展的趋势,而在微服务流量入口控制上基本都是通过网关来实现的。网关的作用:路由转发、熔断、限流、安全认证、日志监控等,在前面也发布过一篇关于从零开始搭建微服务之网关建设的文章,大家感兴趣的话可以去了解下网关的基本介绍。背景目前我们的服务流量入口已统一由网关进行转发,路由信息定义在配置文件中,但是这种方式有一个缺点就是修...

    微服务 2021年06月25日 4138 0
  • 微服务架构三大难点之一:数据同步查询

    微服务的架构虽然看起来很美,但是里面有一些是需要hold住的内容,其中一项是数据同步查询。当我们把系统拆分成多个业务域后,涉及到跨域的查询就捉襟见肘了,这个时候需要另外的指导思路(CQRS)架构解决这个问题。上图查询的数据通过数据同步+搜索引擎进行解决,通过canal订阅mysql的binlog的变化,同步到elasticsearch。这个方案的优点是不会跟业务进行耦合,不需要...

    微服务 2021年03月23日 1928 0
  • 替代Spring Boot几种微服务框架比较

    目前,有很多使用Java和Kotlin创建微服务的框架。本文中考虑了以下内容:NameVersionYear of a first releaseDeveloperGitHubHelidon SE1.4.12019OraclelinkKtor1.3.02018JetBrainslinkMicronaut1.2.92018Object ComputinglinkQuarkus1....

    微服务 2021年03月17日 2768 0
  • 从单体到微服务,这些年架构的演变

    背景这两年业界最流行的技术架构话题已经从前后端分离,变成了分布式、微服务、DDD了。微服务架构适合所有的公司吗,业务场景演变到了什么地步才需要考虑上微服务呢?毕竟选择技术架构之前应该考虑业务是否与之匹配,否则分布式、微服务这类繁重的架构设计对一些公司来说就变成了屠龙之技,反而成为一线开发团队的负担。在我不长的职业生涯中,经历过小型创业公司、国企般的大型项目以及在ThoughtW...

    微服务 2021年03月05日 1043 0
  • 搞微服务用阿里开源的 Nacos 真香啊

    项目源码地址:https://github.com/alibaba/nacos一、项目介绍在选择使用一个工具之前,我们先大概了解一下它的同类型产品,这样更能看出它的价值。提供了一组简单易用的特性集,帮助开发者快速实现动态服务发现、服务配置、服务元数据及流量管理。主要特性:服务发现:支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用 原生SDK、OpenAPI、或一个独...

    微服务 2021年02月24日 1053 0
  • 分布式系统中的限流器实现

    限流器相关算法一般限流器有五种算法,分别是:令牌桶,漏斗桶,固定窗口,滑动日志(指的其实是广义上的滑动窗口),滑动窗口( 这里指的是滑动日志+固定窗口结合的一种算法 )。1. 令牌桶(Token bucket)令牌桶算法用来控制一段时间内发送到网络上的数据的数目,并允许突发数据的发送。算法大概是:假设允许的请求速率为 r 次每秒,那么每过 1/r 秒就会向桶里面添加一个令牌。桶...

    微服务 2021年02月02日 1083 0
  • 微服务失败的 11 个原因

    微服务是当前流行的架构。简单地说,微服务就是一种面向服务的软件架构,在这种架构中,服务器端应用程序是通过组合许多单用途、小容量的网络服务来构建的。微服务架构让边界设计良好的服务的失效互不影响成为可能。但是,微服务和所有的分布式系统一样,也会存各种各样的问题。Shekhar Gulati 给我们分享了微服务失败的 11 个原因,这些原因还算比较常见,我们相信,他总结的心得对于想要...

    微服务 2021年01月31日 1154 0
  • 架构解密从分布式到微服务:分布式系统的设计理念

    分布式系统的经典理论分布式系统从诞生到现在已经有几十个年头了,其中伴随着一些很重要的基础理论,正是这些影响深远的基础理论,奠定了分布式系统的坚实基础,造就了分布式领域的一座座宏伟大厦。为了练就一身武功,让我们从这些经典的分布式理论开始学起吧。从分布式系统的设计理念说起分布式系统的首要目标是提升系统的整体性能和吞吐量。如果最终设计出来的分布式系统占用了10台机器才勉强达到单机系统...

    微服务 2021年01月23日 1416 0
  • 架构解密从分布式到微服务:深入理解网络,NIO

    NIO我们知道,分布式系统的基础是网络。因此,网络编程是分布式软件工程师和架构师的必备技能之一,而且随着当前大数据和实时计算技术的兴起,高性能RPC架构与网络编程技术再次成为焦点。不管是RPC领域的ZeroC Ice、Thrift,还是经典分布式框架Actor模型中的Akka,或者实时流领域的Storm、Spark、 Flink, 又或者开源分布式数据库中的Mycat、Volt...

    微服务 2021年01月13日 1244 0
  • 微服务架构下分布式事务解决方案

    1 微服务的发展微服务倡导将复杂的单体应用拆分为若干个功能简单、松耦合的服务,这样可以降低开发难度、增强扩展性、便于敏捷开发。当前被越来越多的开发者推崇,很多互联网行业巨头、开源社区等都开始了微服务的讨论和实践。Hailo有160个不同服务构成,NetFlix有大约600个服务。国内方面,阿里巴巴、京东、58同城等很多互联网公司都进行了微服务化实践。当前微服务的开发框架也非常多...

    微服务 2021年01月08日 1366 0
  • 微服务架构实战:使用Jenkins实现自动化构建

    使用Jenkins实现自动化构建一个大型平台的微服务架构设计通常会产生很多项目工程,因此会有很多服务和应用需要部署,并且需要不断地迭代和更新,这是一个庞大的工程,所以我们需要借助自动化工具,实现各个微服务工程的CICD工作流程。CICD是持续集成(Continuous Integration)和持续部署(Continuous Deployment)的总称,是指通过自动化的构建、...

    微服务 2020年12月26日 1173 0
  • 微服务架构设计实践总结和思考

    今天继续谈下在微服务架构设计中的一些实践和思考。对于SOA和微服务,我前面很多文章都进行了详细的阐述,今天这篇文章重点还是放在一些架构设计和实践的一些关键点思考上面。微服务架构核心再次强调,微服务架构核心是传统单体应用大拆小,同时拆分为小的微服务后相互之间以轻量的API接口进行通信。而这个拆分本身又分了多个方面。开发团队的拆分代码层的拆分,可独立构建打包数据库的拆分在拆分后为了...

    微服务 2020年12月22日 1124 0
  • 微服务网关——设计篇

    在《微服务网关——需求篇》中,我们讨论了微服务网关的需求,本文将对微服务网关进行设计。考虑到实际情况的差异,这里实际给出的是设计选项,最终设计基于实际场景来确定。网关功能性设计路由一般情况下,服务对外提供的是RESTful接口,所以一般路由模块根据请求的host, url等规则转发到指定的服务。考虑到路由规则需要频繁的修改发布,为了发布的便利性,考虑针对规则实现热发布。有几种实...

    微服务 2020年12月03日 1128 0
  • 架构师之路:微服务技术选型

    作为一名架构师,需要规划产品技术路线,负责技术选型。而技术栈选型主要参考以下几个标准:安全稳定,不能经常被爆出安全漏洞开源社区活跃度,加入Apache的组件优先考虑一线互联网公司落地产品,有大公司为其背书文档阅读性好本篇为大家带来微服务架构的后端技术选型,当你需要进行技术选型时,可以参照他来设计自己的决策树。开发语言JAVA主流编程语言,适合构建大型后台服务GolangGo语言...

    微服务 2020年11月26日 1216 0