微服务的Feign到底是什么
Feign是什么 分区是一种数据库优化技术,它可以将大表按照一定的规则分成多个小表,从而提高查询和维护的效率。在分区的过程中,数据库会将数据按照分区规则分配到不同的分区中,并且可以在分区中使用索引和其他优化技术来提高查询效率。
使用 JHipster 构建微服务架构
在本文中,我们将着眼于代码生成工具 JHipster 生成和支持的微服务架构。 JHipster 是一个代码生成工具,可以为 Kubernetes 创建 Web 应用程序、微服务、部署文件、云集成和 CI/CD Jenkins 文件。这个工具对于可以快速生成代码并避免创建样板代码的开发人员非常有帮助,可以节省 30% 的工作量。 JHipster 支持 Spring Boot 中的后端代码和 Angular/React/Vue.js 中的前端代码。 在本文中,我们将研究 JHipster 生成和支持的微服务架构。
从零开始创建微服务系统四 - 第一部分
好吧,标题似乎是一个大胆的陈述,所以让我们澄清一下我所说的微服务系统是什么意思。我不是指要在生产中使用的任何类型的框架,只是一个了解微服务架构的挑战以及它如何在幕后工作的项目。 我不打算将这个系列作为分步指南,因为到最后它可能至少有 100 篇文章。相反,我将尝试写关于设计选择、如何编写一些机制并突出一些有趣的问题(从全栈开发人员的角度来看)我在此过程中偶然发现。
构建微服务:使用 API 网关
当您选择将应用程序构建为一组微服务时,您需要决定应用程序的客户端将如何与微服务交互。对于单体应用程序,只有一组(通常是复制的、负载平衡的)端点。然而,在微服务架构中,每个微服务都暴露了一组通常是细粒度的端点。在本文中,我们研究了这如何影响客户端到应用程序的通信,并提出了一种使用API 网关的方法。
Dapr和Rainbond集成,实现云原生BaaS和模块化微服务开发
Dapr 是一个开源的分布式应用运行时,帮助开发者构建松耦合的分布式应用程序,具有良好的可扩展性和可维护性。Rainbond 是一款企业级的云原生应用管理平台,提供了丰富的功能和工具,方便开发者管理和部署应用。
Higress GitHub star 突破 1k,来自社区开发者和用户的寄语
一个遵循开源Ingress/Gateway API标准,提供流量调度、服务治理、安全防护三合一的高集成、易使用、易扩展、热更新的下一代云原生网关。
47-微服务技术栈(高级):分布式协调服务zookeeper源码篇(Watcher机制-2[WatchManager])
前面已经分析了Watcher机制中的第一部分,即在org.apache.zookeeper下的相关类,接着来分析org.apache.zookeeper.server下的WatchManager类。
42-微服务技术栈(高级):分布式搜索引擎ElasticSearch(集群搭建与脑裂问题解决)
单机的elasticsearch做数据存储,必然面临两个问题:海量数据存储问题、单点故障问题。 ● 海量数据存储问题:将索引库从逻辑上拆分为N个分片(shard),存储到多个节点 ● 单点故障问题:将分片数据在不同节点备份(replica ) 本节笔者将带领大家完成ES的集群搭建,同时解决集群中出现的脑裂问题。
32-微服务技术栈(高级):分布式事务Seata的TCC模式
在分布式架构系统中,服务不止一个,一个完整的业务链路肯定也不止调用一个服务,此时每个服务都有自己的数据库增删改查,而每一个写操作对应一个本地事务。如果想要确保全部的业务状态一致,也就意味着需要所有的本地事务状态一致,这在我们之前的学习中肯定是不具备的,如何做到跨服务、跨数据源的事务一致性将是本章节的重点学习内容。
31-微服务技术栈(高级):分布式事务Seata的AT模式
在分布式架构系统中,服务不止一个,一个完整的业务链路肯定也不止调用一个服务,此时每个服务都有自己的数据库增删改查,而每一个写操作对应一个本地事务。如果想要确保全部的业务状态一致,也就意味着需要所有的本地事务状态一致,这在我们之前的学习中肯定是不具备的,如何做到跨服务、跨数据源的事务一致性将是本章节的重点学习内容。
27-微服务技术栈(高级):分布式事务Seata集群部署与服务整合
在分布式架构系统中,服务不止一个,一个完整的业务链路肯定也不止调用一个服务,此时每个服务都有自己的数据库增删改查,而每一个写操作对应一个本地事务。如果想要确保全部的业务状态一致,也就意味着需要所有的本地事务状态一致,这在我们之前的学习中肯定是不具备的,如何做到跨服务、跨数据源的事务一致性将是本章节的重点学习内容。
25-微服务技术栈(高级):Redis持久化
作为分布式系统中,必不可少的非结构化存储中间件,Redis在小型、中型、大型乃至高并发系统中均有自己发挥的场合,除了基础数据结构(String/Hash/Set/ZSet/List)的增删改查操作,在真正的生产环境中我们如何避免数据的丢失?如何避免单点的性能瓶颈?如何搭建合适的集群架构? 本节笔者将从数据的持久化、多种集群结构搭建去解决不同的应用场景,以满足读者朋友们生产环境下的种种问题,最终实现Redis技术中间件的优雅落地。
22-微服务技术栈(高级):分布式缓存Redis主从集群
单机Redis可以解决应用缓存的问题,但是随着系统流量的增加,读操作开始指数级倍增时,及时单节点Redis基于内存的读写操作再快也会有性能瓶颈,此时我们可以借助主从架构(主负责写、从负责读)来优化上述场景,实现高并发读优化。
从分布式到微服务:深入理解网络,网络传输中的对象序列化问题
仅仅懂了Socket编程还不够,因为我们不是简单地写一个发送字符串的Hello World程序,需要实现复杂的对象实例传输,因此,如何将一个对象实例编码成为高效的二进制数据报文传输到对端,并且正确地“还原”出来,就是一个专业的技术问题了。
架构解密从分布式到微服务:深入理解网络,HTTP的前世今生
HTTP是全球最大规模的分布式系统网络的基础之一,也采用了传统的服务器-客户端的通信设计模式。从1.0版本到1.1版本再到2.0版本,HTTP始终占据着分布式系统通信领域重要的一席之地。
分布式系统实战:什么是微服务架构?微服务架构与SOA架构的区别
自2014年业界提出“微服务(Microservices)”的概念以来,微服务架构就不断演进,并且日趋火爆。越来越多的企业拥抱微服务,期望通过微服务的架构来解决大型项目的管理与运维。
05-微服务技术栈(基础):Ribbon负载均衡
在上一节我们引入Eureka的同时,不知读者朋友们是否还有印象:我们在启动类getRestTemplate方法上追加了注解 @LoadBalanced,为什么加这个注解?这个注解解决了什么问题?本节笔者将给读者们做详尽的讲解。
SpringCloud微服务实战——搭建企业级开发框架(四十三):多租户可配置的电子邮件发送系统设计与实现
SpringBoot提供了基于JavaMail的starter,我们只要按照官方的说明配置邮件服务器信息,即可使我们的系统拥有发送电子邮件的功能。但是,在我们GitEgg开发框架的实际业务开发过程中,有两个问题需要解决:一个是SpringBoot邮箱服务器的配置是配置在配置文件中的,不支持灵活的界面配置。另外一个是我们的开发框架需要支持多租户,那么此时需要对SpringBoot提供的邮件发送功能进行扩展,以满足我们的需求。
03-微服务技术栈(基础):SpringCloud工程部署启动
本节笔者带领大家完成了SpringCloud工程从0->1的搭建,当然你不想搭建也可以直接采用方案一,二者等效,至此读者们完成了一个微服务工程的搭建、部署、访问。同时在本节最后一章,笔者基于RestTemplate发起的http请求实现远程调用,实现当A系统想要获取B系统数据时的跨系统数据交互。然而RESTful API访问并不是微服务的唯一解决方案,如Dubbo的交互一样可以实现,希望读者们能不限于此。
02-微服务技术栈(基础):SpringCloud概述
本节笔者介绍了SpringCloud诞生的由来,以及目前国内主要流行的SpringCloud Alibaba与SpringCloud的关系,同时针对SpringCloud自身的特点、版本号、依赖关系做了概要论述,这些都是为了接下来的实战打好基础。
SpringCloud学习(五):微服务注册进eureka集群
试想:如果注册中心只有一个eureka服务,假如它出故障了,会导致整个为服务环境不可用。 所以,为了实现高可用,我们需要搭建Eureka注册中心集群 ,实现负载均衡+故障容错
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(六)开发篇-如何解决微服务开发环境请求实例转发到别人机器问题
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(六)开发篇-如何解决微服务开发环境请求实例转发到别人机器问题
国王小组:区块链交易所搭建|如何用微服务替代单服务架构
本篇文章一共分为三个部分,分别是微服务架构的演进过程、具体实践微服务的应用技术和领域驱动设计的意识转变。微服务架构已经渗透到互联网应用的方方面面,而领域驱动设计也逐渐被业界所接收。