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

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

    微服务 2021年08月25日 1089 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
  • 微服务优雅下线与Nacos健康检查机制详解

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

    微服务 2021年07月09日 5628 1
  • 微服务失败的 11 个原因

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

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

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

    微服务 2021年01月13日 1245 0
  • 大白话揭秘搞好就能“年薪百万”的SpringCloud微服务

    微服务基本概念架构的演变为什么会有微服务?假如回到10年前,一天张三入职了电商企业—并夕夕商城。公司初创,人比较少,公司网站的用户也很少,公司只有一个工程师项目架构比较简单1.单体架构没有想到的是,公司业务越来越好,网站用户量越来越大,单体架构的问题就暴露出来了,随着访问量增加,项目经常宕机问题:架构简单 难以抗住高并发于是,招人。对并夕夕商城进行升级优化。分析升级的方向:数据...

    SpringCloud 2021年01月08日 1704 0
  • 简单列一下分布式高并发要做的事情

    数据库以MySQL为例。慢查询日志,索引优化(explain),覆盖索引。数据库一主多从或者双主多从。读写分离。然后对表进行垂直划分,例如一张字段很多的宽表转为子母表。水平划分,根据业务特性,对表进行分区(现在应该很少用),分表,甚至分库。数据该归档的归档,日表变月表,年表,或者变地域表等。使用sharding-jdbc等。甚至可以给数据库硬盘换上SSD。数据量再大,就该考虑大...

    MySQL 2020年12月12日 1307 0
  • SpringCloud微服务架构实战:商家权限体系设计及开发

    商家管理后台与sso设计在本文的电商平台实例中,商家是这个平台的主角,商家管理后台是专门为这个主角提供的一个安全可靠的操作平台。在商家管理后台中,商家可以进行商品管理、订单管理、物流管理、会员管理、评价管理等各个方面的管理工作。这些管理功能及其服务功能分别由不同的微服务项目实现,并通过不同的应用进行部署。现在我们要做的,就是将这些分布在不同应用中的管理功能,组成一个具有相同访问...

    SpringCloud 2020年12月09日 2159 0
  • SpringCloud微服务架构实战:高并发微服务架构设计

    高并发微服务架构设计作为一个 IT 从业人员,我们经常会碰到类似于下面的一些问题:单个项目巨大而沉重,难以维护。系统稳定性得不到更有效的保证。怎样才能持续地提升系统的性能。怎样才能快速地响应需求的变更,并且系统更新不会引起任何抖动。怎样才能更好地适应系统规模化的扩张。针对上面这些问题,我们无时无刻不在努力地进行各种各样的尝试和探索,寻求更好的解决方案,或者使用更先进的技术。目前...

    架构设计 2020年11月26日 2252 0
  • 架构师之路:微服务技术选型

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

    微服务 2020年11月26日 1216 0
  • 中台和微服务架构规划-模块划分和接口服务识别定义

    概述对于传统企业微服务架构转型,基于中台和微服务思想进行传统IT系统的改造和优化是一个重要的趋势,特别是在企业IT架构逐步走向云原生技术的时候,微服务本身也是关键的要素。而对于微服务整体的治理框架,我在前面给出一个大的框架图,如下:整个微服务治理框架覆盖了微服务全生命周期管理,其中本身又分为微服务架构规划和微服务开发和运维两个关键的阶段。而在微服务架构规划阶段最重要的又是两件事...

    架构设计 2020年11月22日 2703 0
  • PHP微服务实践——手把手教你搭建PHP微服务 PHP

    PHP微服务实践——手把手教你搭建PHP微服务

    简介由于公司项目的发展,现在有SaaS架构的B2B、B2C项目,且项目提供的功能多而杂;并且有大部分功能是重复的。虽然,并发不大,但是从维护和开发的角度讲,开发和维护一套的成本要小很多;所以自己在业余时间探索PHP的微服务架构。基础知识普及:1、hyerf:https://hyperf.wiki/2.0/#/2、consul:https://www.consul.io/3、sw...

    PHP 2020年11月22日 2106 0
  • “架”驭全局、“构”筑未来—微服务架构转型

    一、为什么要微服务转型二、什么是微服务1、概念定义Martin Flower: In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own...

    架构设计 2020年11月20日 1657 0
  • 微服务架构下的API接口驱动开发,设计和集成

    今天谈下在微服务架构下,接口设计和开发方面的思考。对于微服务架构,SOA和Http Rest API接口设计,在我前面的文章中均有专门的说明,因此对于基础方面的解释在本文不再重复。对于今天要写的内容,先总结一句话再展开说明。在SOA和微服务架构思想下,除了常说的面向对象,领域驱动,SOA等架构思想外。还需要增加基于API接口驱动进行的设计和开发工作。API接口的识别,定义,设计...

    架构设计 2020年11月19日 1304 0
  • 膜拜!来看大牛是如何设计微服务系统的,学会直接拥有架构师思维

    前言毫无疑问,如何设计微服务系统是本书所要讨论的核心话题。本节我们将从服务拆分、服务测试、服务注册、服务发现、负载均衡、服务部署、服务发布等方面来展开讨论。服务拆分服务拆分首先要关注的是服务的颗粒度。通过DDD ( 领域驱动设计)的指导,我们可以将某个领域的功能进行聚合成为-一个服务。这个服务只负责某一个方面的功能。DDD其实没有太多新鲜的内容,它更多的是可以看作是面向对象思潮...

    架构设计 2020年11月17日 1010 0
  • 微服务和API网关限流熔断实现关键逻辑思路

    今天准备谈下微服务架构和API网关中的限流熔断,当前可以看到对于Spring Cloud框架本身也提供了Hystrix,主流的开源API网关产品类似Kong网关本身也包括了限流熔断能力。当然也有完全较为独立的限流熔断开源实现,比如阿里的Sentinel即是我们经常会用到的限流熔断开源产品,而且可以和Dubbo,SpringCloud等各种微服务框架无缝集成。由于网上大家能够搜索...

    架构设计 2020年11月14日 1790 0
  • 分布式架构的前世今生

    一、前言随着社会的发展,技术的进步,以前的大型机架构很显然由于高成本、难维护等原因渐渐地变得不再那么主流了,替代它的就是当下最火的分布式架构,从大型机到分布式,经历了好几个阶段,我们弄明白各个阶段的架构,才能更好地理解和体会分布式架构的好处,那么本文我们就来聊聊分布式架构的演进过程,希望能给大家带来眼前一亮的感觉。二、背景说明我们都知道一个成熟的大型网站的系统架构并非一开始就设...

    架构设计 2020年09月19日 1376 0
  • 轻量级的分布式日志追踪利器,十分钟可接入,从此日志追踪无难事

    前言随着微服务盛行,很多公司都把系统按照业务边界拆成了很多微服务,在排队查日志的时候。因为业务链路贯穿着很多微服务节点,导致定位某个请求的日志以及上下游业务的日志会变得有些困难。这时候很多童鞋会开始考虑上SkyWalking,Pinpoint等分布式追踪系统来解决,基于OpenTracing规范,而且通常都是无侵入性的,并且有相对友好的管理界面来进行链路Span的查询。但是搭建...

    Java 2020年09月18日 2208 0
  • 教你利用 PHP 实现微服务 PHP

    教你利用 PHP 实现微服务

    随着互联网浏览越来越大. 传统的 MVC 单一架构随着应用规模的不断扩大,应用模块不断增加,整个应用也显得越来越臃肿,维护起来也更加困难.我们必须采取措施,按应用拆分,就是把原来的应用按照业务特点拆分成多个应用。比如一个大型电商系统可能包含用户系统、商品系统、订单系统、评价系统等等,我们可以把他们独立出来形成一个个单独的应用。多应用架构的特点是应用之间各自独立 ,不相互调用。多...

    PHP 2020年09月01日 2202 0
  • 架构师必懂的——下一代微服务ServiceMesh

    今年,ServiceMesh(服务网格)概念在社区里头非常火,有人提出2018年是ServiceMesh年,还有人提出ServiceMesh是下一代的微服务架构基础。作为架构师,如果你现在还不了解ServiceMesh的话,是否感觉有点落伍了?那么到底什么是ServiceMesh?它诞生的背景是什么?它解决什么问题?企业是否适合引入ServiceMesh?根据近年在一线互联网企...

    架构设计 2020年04月26日 2060 0
  • 「微服务架构」微服务架构中的数据一致性

    在微服务中,一个逻辑上原子操作可以经常跨越多个微服务。即使是单片系统也可能使用多个数据库或消息传递解决方案。使用多个独立的数据存储解决方案,如果其中一个分布式流程参与者出现故障,我们就会面临数据不一致的风险 - 例如在未下订单的情况下向客户收费或未通知客户订单成功。在本文中,我想分享一些我为使微服务之间的数据最终保持一致而学到的技术。为什么实现这一目标如此具有挑战性?只要我们有...

    架构设计 2020年04月24日 1362 0
  • 微服务平台建设方案

    1 系统设计1.1 总体框架1.1.1 功能架构微服务平台主要由服务支撑层、基础服务层、通用服务及业务服务层组成,系统总体功能架构图如下: 1) 基础设施微服务平台的基础设施包括网络、存储、计算等硬件基础设施,为平台的运行提供基础保障。2) 服务支撑层服务支撑层为保证整个服务平台健康、高效运行提供支撑服务,包括服务注册与发现中心、配置中心、日志中心、监控中心、服务限流降级与熔断...

    架构设计 2020年04月19日 7314 2
  • 微服务的数据库设计

    单独的数据库: 微服务设计的一个关键是数据库设计,基本原则是每个服务都有自己单独的数据库,而且只有微服务本身可以访问这个数据库。它是基于下面三个原因。 优化服务接口:微服务之间的接口越小越好,最好只有服务调用接口(RPC或消息),没有其他接口。如果微服务不能独享自己的数据库,那么数据库也变成了接口的一部分,这大大拓展了接口范围。 错误...

    技术文章 2019年10月22日 1310 0
  • 优化你的springboot

    在SpringBoot的Web项目中,默认采用的是内置Tomcat,当然也可以配置支持内置的jetty,内置有什么好处呢? 方便微服务部署。 方便项目启动,不需要下载Tomcat或者Jetty 针对目前的容器优化,目前来说没有太多地方,需要考虑如下几个点 线程数 超时时间 jvm优化 ...

    Java 2019年07月18日 1905 0