微服务架构之「 调用链监控 」
「调用链监控」是在微服务兴起后才有的一种新流行的监控模式。因为在我们传统单体应用的项目中,不存在服务链/调用链的概念,所以也就根本没有调用链监控的需求了。当我们开始微服务架构之后,我们的很多服务变成分布式的了,并且我们对服务进行了拆分,拆分之后,用户的一个请求进来,会依次经过不同的服务节点进行处理,
微服务架构之「 容错隔离 」
我们知道,在单体应用的架构下一旦程序发生了故障,那么整个应用可能就没法使用了,所以我们要把单体应用拆分成具有多个服务的微服务架构,来减少故障的影响范围。但是在微服务架构下,有一个新的问题就是,由于服务数变多了,假设单个服务的故障率是不变的,那么整体微服务系统的故障率其实是提高了的。比如:假设单个服务
微服务架构之「 访问安全 」
应用程序的访问安全又是我们每一个研发团队都必须关注的重点问题。尤其是在我们采用了微服务架构之后,项目的复杂度提升了N个级别,相应的,微服务的安全工作也就更难更复杂了。并且我们以往擅长的单体应用的安全方案对于微服务来说已经不再适用了。我们必须有一套新的方案来保障微服务架构的安全。在探索微服务访问安全之
微服务架构之「 下一代微服务 Service Mesh 」
ServiceMesh被大家称为下一代的微服务,是微服务领域的一颗新星,被大家讨论的非常多。我在大家的讨论中,还看到有人说“目前的微服务架构我都没学会呢,现在又来一个下一代微服务,真学不动了”。哈哈,没办法,互联网技术就是发展得这么快,这些技术其实也都是由于大家所在的公司业务规模和复杂度变大以后所推
颠覆微服务认知:深入思考微服务的七个主流观点
一群同频者,一起成长,一起精进,打破认知的局限性。一、逃离单体系统,拥抱微服务?单体系统和微服务的区别在于,一个单体系统是一个大而全的功能集合,每个服务器运行的是这个应用的完整服务。而微服务是独
「微服务架构」微服务架构中的数据一致性
在微服务中,一个逻辑上原子操作可以经常跨越多个微服务。即使是单片系统也可能使用多个数据库或消息传递解决方案。使用多个独立的数据存储解决方案,如果其中一个分布式流程参与者出现故障,我们就会面临数据不一致的风险-例如在未下订单的情况下向客户收费或未通知客户订单成功。在本文中,我想分享一些我为使微服务之间
斗鱼开源首秀——基于 Go 的微服务框架 Jupiter
6月1日,斗鱼将基于Go语言的微服务框架Jupiter开源。作为国内知名的互联网直播公司,这也是斗鱼首次以公司的名义正式推出开源项目。近年来,得益于日渐增长的高并发业务需求,微服务架构开始在国内逐渐普及。同时,专为高并发而生的Go语言及其相关生态在国内的发展也突飞猛进。目前,市面上主流的微服务架构包
从Spring Cloud到Kubernetes的微服务迁移实践
写在前面要出发周边游(以下简称要出发)是国内知名的主打「周边游」的在线旅行网站,为了降低公司内部各个业务模块的耦合度,提高开发、交付及运维效率,我们在2017年就基于SpringCloud完成了公司内部业务微服务化的改造,并在2019年实现了SpringCloud至UK8S平台的迁移。本文从要出发的
阿里P7推荐:SpringCloud与微服务构建PDF建议人手一份
本书共分为16章:第1章介绍了什么是微服务、为什么需要微服务、微服务的优缺点和挑战,并且将单体架构的系统和微服务架构的系统进行了比较。第2章主要介绍微服务应该具备的功能,以及SpringCloud的基本组件,最后介绍了SpringCloud与Dubbo、Kubernetes之间的比较及优缺点。第3、
微服务中的模式和反模式
微服务中的常见设计模式软件开发者对“四人帮”的《设计模式》一书应该都很熟悉,微服务中也会有一些常见的模式:部署模式如何部署服务是微服务中的一个重要问题,微服务的部署方式非常灵活,有以下的不同选项可供选择(参考http://www.open-open.com/lib/view/open14624344
微服务通信的设计模式
注:本文为翻译内容,首发于社区:微服务通信的设计模式,原文地址:DesignPatternsforMicroservice-To-MicroserviceCommunication-DZoneMicroservices在我的上一篇博客中,我谈到了微服务的设计模式。现在我想更深入地探讨微服务架构中最重
快速搭建 SpringCloud 微服务开发环境的脚手架
本文作者:HelloGitHub-秦人本文适合有SpringBoot和SpringCloud基础知识的人群,跟着本文可使用和快速搭建SpringCloud项目。HelloGitHub推出的《讲解开源项目》系列,今天给大家带来一款基于SpringCloud2.1的微服务开发脚手开源项目——Spring
基于微服务的推荐系统
所谓的人工智能,“智能”是由模型来完成的,剩下的大量的“人工”是实实在在的脏活累活。如果把机器学习系统比喻做一个人,模型是人的心脏,那么人的其他部位就是软件架构。心脏再强大,也离不开其他器官和血肉。一套成熟的机器学习系统,归根到底,还是软件系统。在这里,记录一下近些年参加的人工智能项目的得与失,以及
基于 Apache APISIX 的下一代微服务架构
2019年12月14日,又拍云联合ApacheAPISIX社区举办API网关与高性能服务最佳实践丨OpenTalk广州站活动,ApacheAPISIXPPMC温铭做了题为《ApacheAPISIX的Apache之路》的分享。本次活动,邀请了来自ApacheAPISIX、又拍云、腾讯云、HelloTa
全栈GEEK:微服务分布式架构实战,让你轻松备战金三银四
前言在当下的互联网世界里,系统开发既简单又困难。说它简单,是因为各技术社区的贡献及各框架的完善,使整个生态越来越丰富,绝大多数的需求都可以使用现有的库实现(不用重新发明“轮子”),并且现在很多的库都非常注重使用体验,以快速实现为目标,通过少量的配置及代码便可集成使用。但合理地编排这些库以构建一个高效
基于SpringBoot、SpringCloud、Docker微服务架构实战,资源分享
前言近年来,微服务架构(MicroservicesArchitecture)已经成为一种主流的软件开发方法论,它把一种特定的软件应用设计方法描述为能够独立部署的服务套件。所谓微服务(Microservices),就是一些具有足够小的力度、能够相互协作且自治的服务体系。每个微服务都比较简单仅关注于完成
PHP 微服务之【分布式事务】
分布式事务一直是微服务的一个难点。相关的解决方案和框架大部分是java的,那么php该如何解决呢?下面一步一步讲解如何用php解决分布式事务。单机单数据源事务首先从单机事务开始。大概逻辑如下:try{//开始事务$db->beginTransaction();//执行你的操作//...//提交
聊聊微服务集群当中的自动化工具
本篇博客主要介绍了自动化工具这个概念,在微服务集群当中的作用,算抛砖引玉,欢迎大家提出自己的见解。写在前面在了解自动化工具的概念之前,我们先了解一下微服务和集群的概念。什么是微服务这个概念其实有些广泛,而我的知识广度也有限,我会尽量用通俗的语言来描述什么是微服务,什么是集群,以及为什么我们需要微服务
一文教你理解微服务架构中的Redis
了解如何将Redis与SpringCloud和SpringData一起使用以提供配置服务器,消息代理和数据库。这里给大家分享一下我的专栏《Java进阶集中营》,每天都会给大家分享一个最新的java技术内容,有优秀的技术讯息,也欢迎分享在我的专栏里。JAVA进阶集中营zhuanlan.zhihu.c
微服务与SOA的区别
这个问题被问过有十多次了,写个材料以记之。SOA这个词汇有二义性,一层含义是指面向服务架构(ServiceOrientedArchitecture)这种架构风格;另一层含义是指多年前IBM/SAP/Dell/Oracle等公司搞的SOA解决方案,例如BPEL+SCA+SDO这套东西,以及Enterp