跳至主要內容
Java微服务框架选择:Micronaut vs Spring Boot

Java微服务框架选择:Micronaut vs Spring Boot

深入研究微服务世界的 Java 开发人员经常发现自己面临着在两个著名框架之间做出选择:Micronaut 和 Spring Boot。

这两个框架都为构建微服务提供了强大的解决方案,但每个框架都有自己的优点和缺点。

在本文中,我们将探讨与 Spring Boot 相比使用 Micronaut 的一些潜在缺点,强调根据项目的特定需求调整您的选择的重要性。

生态系统的成熟度与规模

Spring Boot 在生态系统的成熟度与规模方面远远领先于 Micronaut。


DD编辑部原创大约 3 分钟技术选型MicronautSpring Boot微服务Java
使用Spring Security资源服务器来保护Spring Cloud微服务

我在上一篇对资源服务器进行了简单的阐述,让大家对资源服务器的概念有了简单的认识,今天我将用实际例子来演示单体应用改造为Spring Cloud微服务时的资源服务器实现。

资源服务器改造

Spring Security实战干货的DEMO为例子,原本它是一个单体应用,认证和授权都在一个应用中使用。改造为独立的服务后,原本的认证就要剥离出去(这个后续再讲如何实现),服务将只保留基于用户凭证(JWT)的访问控制功能。接下来我们将一步步来实现该能力。


码农小胖哥大约 6 分钟Spring CloudSpring CloudSpring Security微服务
初识微服务中的资源服务器

资源服务器到底是什么以及怎么用很少有教程来专门聊这个东西,今天我们先来聊一聊这个概念,为后续的使用打一打基础。

传统安全方式的不足

在Spring Security干货系列教程中,我们一步步来学习了Spring Security的使用。其中大部分涉及到的都是传统的保护应用的方式。我们通过用户名和密码(也可以是验证码)来获得服务器给的凭证(JWT是其中的一种),然后携带凭证去请求接口以获得对应的资源(Resource)。绝大部分的单体应用使用这种模式非常方便和简单。

但是一旦你所在的项目做大了,需要改造成微服务了,使用这种方式就显得有些笨重了,每个服务的资源都需要认证授权,所以需要一种范式来简化这一流程。


码农小胖哥大约 4 分钟架构运维微服务
如何落地微服务和云原生架构?

为什么选择微服务架构?

近几年,微服务架构一直是热点之一,并且被公认为是 IT 软件架构的未来方向。

它是一种灵活的演进式架构,可以提升企业研发效能,同时赋能业务快速创新,目前众多企业应用微服务化,其中包括阿里、Netflix 等。我相信,企业应用微服务化是必然趋势,微服务人才的需求也会越来越高。

微服务架构难?难于上青天?

微服务架构落地实施的技术门槛会比较高,它需要基础平台的支撑,包括服务发现,路由,配置,安全和监控等等。这也是现在很多企业面临的困境,有业务微服务改造的需求,但技术人员大都欠缺相关技术经验,无法实施落地。


DD编辑部原创大约 4 分钟架构运维微服务云原生
这是我见过最蛋疼的注册中心与API网关实践!

之前因为在做顾问与咨询的时候,见到了一种关于API网关和注册中心的错误用法。在我的星球里分享了一下这个案例,没想到最近又碰到了两个类似的案例。也许这样的问题还存在不少团队的应用中,所以再拿出来分享一下,希望可以帮助读者更好的理解注册中心与API网关的作用,并将它们用对地方!

在微服务架构中,我们都会使用API网关来作为暴露服务的唯一出口。这样可以讲与业务无关的各项控制,集中的在API网关中进行统一管理,从而使得业务服务可以更加专注于业务领域本身。


程序猿DD原创大约 4 分钟架构运维微服务
不伦不类的微服务改造:分布式单体

昨晚睡觉前,顺手撸了几个群聊的聊天记录。发现一个很有意思的名词“分布式单体”,顺藤摸瓜看了一下之前的聊天记录,由于内容骂骂咧咧,我就不贴出来了。。。大致内容就是某公司在做微服务改造,但改的不伦不类,形式上像微服务,而本质上依然是单体,甚至连单体都不如。

这样的改造现象,其实在国内还是蛮多见的。下面就来聊聊这个有趣的话题:分布式单体。各位看官,看看你们公司是不是也犯了这样的错误?

分布式单体为什么不好

先思考一个问题:从单体改造到微服务的时候,你们是不是按这样的步骤来的?

  1. 确定业务领域,拆分存储,定义各微服务的边界
  2. 改造代码逻辑,将原来的内部service调用改成dubbo或feign这样的远程调用

程序猿DD原创大约 6 分钟架构运维微服务
Java微服务 vs Go微服务,究竟谁更强!?

前言

Java微服务能像Go微服务一样快吗?

这是我最近一直在思索地一个问题。

去年8月份的the Oracle Groundbreakers Tour 2020 LATAM大会上,Mark Nelson和Peter Nagy就对此做过一系列基础的的测试用以比较。接下来就给大家介绍下。

在程序员圈子里,普遍的看法是Java老、慢、无聊 ,而Go是快、新、酷

为了尽可能的进行一个相对公平的测试,他们使用了一个非常简单的微服务,没有外部依赖关系(比如数据库),代码路径非常短(只是操纵字符串),使用了小型的、轻量级的框架(Helidon for Java和Go工具包for Go),试验了不同版本的Java和不同的jvm。


DD编辑部原创大约 8 分钟架构运维JavaGo微服务
为Spring Cloud Config插上管理的翅膀

最近一致在更新Spring Cloud Config的相关内容,主要也是为这篇埋个伏笔,相信不少调研过Spring Cloud Config的用户都会吐槽它的管理能力太弱。因此,就有了下面为讲推荐的这个开源项目,希望对已经入坑Spring Cloud Config的童鞋们有所帮助!

简介

在Spring Cloud的微服务架构方案中虽然提供了Spring Cloud Config来担任配置中心的角色,但是该项目的功能在配置的管理层面还是非常欠缺的。初期我们可以依赖选取的配置存储系统(比如:Gitlab、Github)给我们提供的配置管理界面来操作所有的配置信息,但是这样的管理还是非常粗粒度的,因此这个项目的目的就是解决这个问题,通过此项目,我们将提供一套基于Spring Cloud Config配置中心的可视化管理系统。


程序猿DD原创大约 15 分钟Spring CloudSpring Cloud微服务配置中心
API网关 Zuul1.0 和 2.0 我们该如何选择?

介绍

在今年5月中,Netflix终于开源了它的支持异步调用模式的Zuul网关2.0版本,真可谓千呼万唤始出来。从Netflix的官方博文[附录1]中,我们获得的信息也比较令人振奋:

The Cloud Gateway team at Netflix runs and operates more than 80 clusters of Zuul 2, sending traffic to about 100 (and growing) backend service clusters which amounts to more than 1 million requests per second. Netflix部署了超过80+的Zuul2云网关集群,流量经过Zuul2集群被路由到后端超过100+的微服务,且每秒钟经过Zuul2集群的请求超过100万。


杨波大约 10 分钟Spring CloudZuulSpring Cloud微服务架构设计
开源:API文档汇总管理工具Swagger Butler

Swagger Butler是一个基于Swagger与Zuul构建的API文档汇集工具。通过构建一个简单的Spring Boot应用,增加一些配置就能将现有整合了Swagger的Web应用的API文档都汇总到一起,方便查看与测试。

项目地址

  • Github:https://github.com/dyc87112/swagger-butler
  • Gitee:https://gitee.com/didispace/swagger-butler

使用手册

快速入门


程序猿DD原创大约 3 分钟Spring CloudSwagger微服务Spring CloudZuulSpring Boot
2
3
4
5