0

SpringCloud微服务架构实战:高并发微服务架构设计

高并发微服务架构设计作为一个 IT 从业人员,我们经常会碰到类似于下面的一些问题:单个项目巨大而沉重,难以维护。系统稳定性得不到更有效的保证。怎样才能持续地提升系统的性能。怎样才能快速地响应需求的变更,并且系统更新不会引起任何抖动。怎样才能更好地适应系统规模化的扩张。针对上面这些问题,我们无时无刻不在努力地进行各种各样的尝试和探索,寻求更好的解决方案,或者使用更先进的技术。目前来看,在互联网环境之中产生的微服务架构设计是一个比较理想的解决方案。微服务总体架构设计一个使用了微服务的电商平台的总体架构设计如图 2-1 所示。这是一个典型的微服务总体架构设计图,自上往下看,可以分为前台应用层、 AP...

阅读全文>>

0

架构师之路:微服务技术选型

作为一名架构师,需要规划产品技术路线,负责技术选型。而技术栈选型主要参考以下几个标准:安全稳定,不能经常被爆出安全漏洞开源社区活跃度,加入Apache的组件优先考虑一线互联网公司落地产品,有大公司为其背书文档阅读性好本篇为大家带来微服务架构的后端技术选型,当你需要进行技术选型时,可以参照他来设计自己的决策树。开发语言JAVA主流编程语言,适合构建大型后台服务GolangGo语言是谷歌2009发布的第二款开源编程语言。专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。Google对Go寄予厚望。其设计是让软件充分发挥多核心处...

阅读全文>>

0

中台和微服务架构规划-模块划分和接口服务识别定义

概述对于传统企业微服务架构转型,基于中台和微服务思想进行传统IT系统的改造和优化是一个重要的趋势,特别是在企业IT架构逐步走向云原生技术的时候,微服务本身也是关键的要素。而对于微服务整体的治理框架,我在前面给出一个大的框架图,如下:整个微服务治理框架覆盖了微服务全生命周期管理,其中本身又分为微服务架构规划和微服务开发和运维两个关键的阶段。而在微服务架构规划阶段最重要的又是两件事情,即微服务模块的拆分和拆分后的微服务模块应该提供的API接口服务识别和定义。而这个本身也是后续多个微服务进行并行开发和持续集成的基础。微服务划分大原则注意这里讲的是大原则不是绝对原则。对于传统的单体应用在转到微服务的时...

阅读全文>>

0

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

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

阅读全文>>

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 process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built a...

阅读全文>>

0

微服务架构下的API接口驱动开发,设计和集成

今天谈下在微服务架构下,接口设计和开发方面的思考。对于微服务架构,SOA和Http Rest API接口设计,在我前面的文章中均有专门的说明,因此对于基础方面的解释在本文不再重复。对于今天要写的内容,先总结一句话再展开说明。在SOA和微服务架构思想下,除了常说的面向对象,领域驱动,SOA等架构思想外。还需要增加基于API接口驱动进行的设计和开发工作。API接口的识别,定义,设计和开发过程贯彻了整个微服务开发的生命周期。软件生命周期对于软件开发过程或生命周期,常会说到瀑布模型,增量和迭代模型,敏捷方法论等。即使到了迭代开发,对于全新驱动仍然强调一个关键点,即:软件开发中应以架构为核心,架构应确保...

阅读全文>>

0

膜拜!来看大牛是如何设计微服务系统的,学会直接拥有架构师思维

前言毫无疑问,如何设计微服务系统是本书所要讨论的核心话题。本节我们将从服务拆分、服务测试、服务注册、服务发现、负载均衡、服务部署、服务发布等方面来展开讨论。服务拆分服务拆分首先要关注的是服务的颗粒度。通过DDD ( 领域驱动设计)的指导,我们可以将某个领域的功能进行聚合成为-一个服务。这个服务只负责某一个方面的功能。DDD其实没有太多新鲜的内容,它更多的是可以看作是面向对象思潮的回归和升华。在一个“万事万物皆对象”的世界里,我们需要重新展开思考。例如,哪些对象是对我们的系统有用的,哪些是对我们拟建系统没有用处的,我们应该如何保证选取的模型对象恰好够用。对象并不是独立存在的,它们之间会存在着千丝...

阅读全文>>

0

微服务和API网关限流熔断实现关键逻辑思路

今天准备谈下微服务架构和API网关中的限流熔断,当前可以看到对于Spring Cloud框架本身也提供了Hystrix,主流的开源API网关产品类似Kong网关本身也包括了限流熔断能力。当然也有完全较为独立的限流熔断开源实现,比如阿里的Sentinel即是我们经常会用到的限流熔断开源产品,而且可以和Dubbo,SpringCloud等各种微服务框架无缝集成。由于网上大家能够搜索到的关于各开源产品实现的限流熔断功能和使用的文章都很多,因此这篇文章不打算再去介绍这些开源产品,而是从业务场景出发来思考下一个限流熔断功能实现中的一些思路。当然,对于我们常说的资源定义,线程池隔离,滑动时间窗口计算等内容...

阅读全文>>

0

分布式架构的前世今生

一、前言随着社会的发展,技术的进步,以前的大型机架构很显然由于高成本、难维护等原因渐渐地变得不再那么主流了,替代它的就是当下最火的分布式架构,从大型机到分布式,经历了好几个阶段,我们弄明白各个阶段的架构,才能更好地理解和体会分布式架构的好处,那么本文我们就来聊聊分布式架构的演进过程,希望能给大家带来眼前一亮的感觉。二、背景说明我们都知道一个成熟的大型网站的系统架构并非一开始就设计的非常完美,也没有一开始就具备高性能、高并发、高可用、安全性等特性,而是随着用户量的增加、业务功能的扩展逐步演变过来的,慢慢的完善的。 在这个过程中,开发模式、技术架构等都会随着迭代发生非常大的变化。 而针对不同业务特...

阅读全文>>

0

轻量级的分布式日志追踪利器,十分钟可接入,从此日志追踪无难事

前言随着微服务盛行,很多公司都把系统按照业务边界拆成了很多微服务,在排队查日志的时候。因为业务链路贯穿着很多微服务节点,导致定位某个请求的日志以及上下游业务的日志会变得有些困难。这时候很多童鞋会开始考虑上SkyWalking,Pinpoint等分布式追踪系统来解决,基于OpenTracing规范,而且通常都是无侵入性的,并且有相对友好的管理界面来进行链路Span的查询。但是搭建分布式追踪系统,熟悉以及推广到全公司的系统需要一定的时间周期,而且当中涉及到链路span节点的存储成本问题,全量采集还是部分采集?如果全量采集,就以SkyWalking的存储来举例,ES集群搭建至少需要5个节点。这就需要...

阅读全文>>