欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《quarkus实战》系列的第四篇,如标题所示,今天的任务是完成远程热部署实战 作为一名Java程序员,以下场景相信您很熟悉: 在本地电脑上:用IDEA写代码,编译构建成jar或者docker镜像 在服务器上:运行jar或者docker镜像 遇到问题时:通过热部署,使本地的改动立即在服务器上生效,这一切都是自动的,无需打包部署等操作 就是下图这
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 《支持JDK19虚拟线程的web框架》系列文章链接 支持JDK19虚拟线程的web框架,之一:体验 支持JDK19虚拟线程的web框架,之二:完整开发一个支持虚拟线程的quarkus应用 支持JDK19虚拟线程的web框架,之三:观察运行中的虚拟线程 支持JDK19虚拟线程的web框架,之四:看源码,了解quarkus如何支持虚拟线程 支持JDK19虚拟线程
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于虚拟线程 随着JDK19 GA版本的发布,虚拟线程(来自Project Loom)这一特性也闪亮登场,虚拟线程是 JDK 而并非OS 实现的轻量级线程(Lightweight Process,LWP),许多虚拟线程共享同一操作系统线程,虚拟线程的数量可以远大于操作系统线程的数量(可以参考golang的协程) 虚拟线程方面的文章,如今已经有很多优秀博主写
上一篇文章主要介绍了Quarkus以及给Quarkus提供“神力”的Java虚拟机GraalVM,并演示了如何安装GraalVM以及Quarkus的初步用法。本文将主要指向Quarkus的“亮点”——本地化应用程序。
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《quarkus实战》系列的第六篇,咱们来掌握一个常用知识点:配置 如同SpringBoot中的application.properties文件,对一个quarkus应用来说,配置是其重要的组成部分,web端口、数据库这些重要信息都放在配置中,咱们在编码时也会将一些业务参数做成配置,而不是硬编码(hard code) 与配置有关的知识点不少,本文
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是《支持JDK19虚拟线程的web框架》系列的中篇,前文咱们体验了有虚拟线程支持的web服务,经过测试,发现性能上它与其他两种常见web架构并无明显区别,既然如此,还有必要研究和学习吗? 当然有必要,而且还要通过实战更深入了解虚拟线程与常规线程的区别,在各大框架和库广泛支持虚拟线程之前,打好理论和实践基础,这才是本系列的目标 为了接下来的深入
备注:我的mac和ubuntu上的IDEA都没见到这个选项,难道我装了两个假的IDEA?
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《quarkus实战》系列的第八篇,经过前面的学习,咱们对配置有了足够了解,但问题也随之而来:如何让应用以最小的改动同时运行在不同环境(如本地、测试、生产等) 举个例子,下面是个简化版配置文件,有两个配置项,第一个固定不变,第二个随环境变化各不相同: # 这个配置信息在各个环境中都是相同的 greeting.message=hello # 这个配
Quarkus默认的配置文件和spring boot 一样,默认读取application.properties文件。apollo是一个配置集中管理的开源项目,已被广泛应用。下面我们就分析下Quarkus的配置加载结构,将apollo集成进来。
quarkus应用使用Graalvm打包成native image后,运行时抛No timezone mapping entry for 'CST'的异常,这个异常是说环境里缺少CST的时区,默认的quarkus的数据库驱动是用的mysql8的,在mysql8里如果你的连接没有配置时区参数,默认的就是CST时区。所以,如果你显示的配置了时区的名称,可能异常就是报不能映射你配置的时区了,解决这个问题只需在配置文件中加入一个参数即可。
我们知道 Spring Boot 工程默认的配置文件名称为 application.properties,SpringApplication 将从以下位置加载 application.properties 文件,并把它们添加到 Spring Environment 中:
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《quarkus实战》系列的第七篇,前文讲述了如何在将配置信息传入quarkus应用,今天要练习的是如何使用这些配置信息 整篇文章由以下内容构成: 创建工程,作为演示使用配置项操作的代码 演示最基本的使用配置项操作 展示配置项不存时会导致什么问题 演示如何设置默认值,这样配置项不存在也不会出错 默认值是字符串,而实际的变量可以是多种类型,它们之间
Quarkus中对swagger ui也有支持,但是和spring 中直接集成swagger ui功能不同,Quarkus中使用open api规范得到接口的json数据,然后使用swagger ui展示。所以在Quarkus中集成swagger ui时,会发现没有swagger ui那些接口标记注解了,取而代之的是open api规范中的注解。下面来捋一捋他们的关系,看看怎么在Quarkus中使用。
大家周末愉快啊,Spring Boot 2.3.5 没发布几天,你看,还是 1 周前发布的:
本文翻译自 Best Practices for Java Apps on Kubernetes 。
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇内容并非数据库相关的核心知识,而是对一个实用工具的说明介绍,此工具在官方介绍中被称为Zero Config Setup (Dev Services),(零配置的设置,忒莫名其妙) 我这边简单总结为:如果你没有数据库可用,只要你有docker,quarkus应用就能进行数据库相关的开发工作,增删改查啥都行,和有数据库的时候没啥区别 看到这里
作者 | Daniel Oh 译者 | 平川 策划 | 丁晓昀 随着云部署的兴起,IT 部门使用的物理服务器减少,用电量也相应降低,结果是通过减少碳排放帮助缓解了气候变化。云架构有助于实现这一点,因为它们不需要维护竖井式的计算资源,而是在需要保持业务服务运行时,高效共享所在云上的可用资源。 然而短期内,云迁移的这些好处对于二氧化碳的排放并没有产生显著的影响。这是因为采用云的速度比转向无碳基础设施的速度要快得多。例如,谷歌云目前已实现碳中和,但他们正在努力成为无碳、可持续的云计算系统。 与此同时,开
Docker是一个强大的工具,它允许开发者将他们的应用程序打包到容器中,以便可以在任何平台上轻松部署和运行。当涉及到对 Spring Boot 应用程序进行 Docker 化时,每个开发人员都应该遵循一些最佳实践,以确保应用程序平稳高效地运行。
本篇主要介绍了 Quarkus 中的远程调用,项目的结构采用了传统的微服务模式。演示了如何编写符合 istio 的 Quarkus java 程序。
quarkus号称超音速亚原子JAVA为Graalvm量身定制的java堆栈,是否名副其实呢?下面就来看看真实情况如何。动手前先简单介绍下Graalvm,它是oracle出品的一个AOT编译器,可以将应用程序编译成本地映像,通俗的说可以将java编译成机器可直接执行的程序,可以参考go语言的编译输出产物。而且graalvm不仅仅支持java,对其他语言也有很好的支持。下面先看一张quarkus的java应用程序在传统的vm下面和graalvm下面的资源占用图。
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 一个应用同时连接多个数据库进行操作,这是常见的场景,quarkus也不例外,今天就随本文一起来实战多数据源操作 如下图,今天要创建名为multi-db-demo的应用,此应用同时连接两个数据库,名为fist-db的库中是卖家表,名为second-db的库中是买家表 📷 为了简化demo,本篇继续坚持不支持web服务,用单元测试来验证应用同时操作两个
Spring Cloud 微服务和 Docker 容器化技术,随便拿出来一个,都够你玩半天喝二两的。那么当它俩交叉在一起时,确实让新手烧脑。
Spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动。其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat)。当然你也可以将项目打包成war包,放到独立的web容器中(Tomcat、weblogic等等),当然在此之前你要对程序入口做简单调整。
加密配置是一个很常见的需求,在spring boot生态中,已经有非常多的第三方starter实现了,博主所在公司也有这种强制要求,一些敏感配置信息必须加密,比如第三方账号,数据库密码等等。所以研究了下怎么在Quarkus中实现类似的配置加密功能。在前文《Quarkus集成apollo配置中心》中,已经有介绍过Quarkus中的配置架构了,配置加密功能也是基于smallrye-config来实现。
-p 8848:8848 -p 9848:9848 -p 9849:9849 : 指定端口映射,注意这里的p不能大写,大写是随机端口映射
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 前文咱们曾提到过几种启动方式,有一种用maven命令启动的,可以进入开发模式,命令如下: mvn quarkus:dev 当时只提到此模式能看到详细系统信息,并未展开说明更多信息,实际上,此模式下还有很多实用的功能 作为《quarkus实战》系列的第三篇,今天咱们一起来学习开发模式(Development mode),这是quarkus为开发者准备的实
如果不清楚docker是什么,请查看docker的文档和简介,这里给出docker的安装过程
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos OpenFaaS实战系列文章链接 部署 函数入门 Java函数 模板操作(template) 大话watchdog of-watchdog(为性能而生) java11模板解析 自制模板(maven+jdk8) 终篇,自制模板(springboot+maven+jdk8) 本篇概览 作为《OpenFaaS实战》系列的终篇,在前八篇文章中,理论和实战咱们已经做得够多,
dubbo是一个流行的使用广泛的服务治理型RPC框架,博主所在公司,大量服务都是使用dubbo来暴露和调用的,如果想要使用quarkus替换spring boot来做业务系统,肯定要在quarkus中解决dubbo集成的问题。好在dubbo的设计比较优良,除了提供在spring环境下的自动装备加载,还可以通过手动编程的方式集成dubbo。不过,如果确定使用quarkus作为主要的开发框架的话,最终的目标应该是将服务直接注册到k8s的service中,就不需要dubbo或者grpc这种远程通讯框架了。
博主在前一个月刚接触quarkus时,就研究了quarkus的配置加载机制,以及具体实现原理。但是那个时候还不了解quarkus的框架扩展,所有只能通过配置加载机制集成apollo,见文章《Quarkus集成apollo配置中心(3)》,这篇文章讲的扩展框架实现的思路一致,只是利用quarkus的扩展机制使得集成apollo变的更加的便利。
https://www.bilibili.com/video/BV1XQ4y1m7ex
OpenFaaS实战系列文章链接 部署 函数入门 Java函数 模板操作(template) 大话watchdog of-watchdog(为性能而生) java11模板解析 自制模板(maven+jdk8) 终篇,自制模板(springboot+maven+jdk8) 本篇概览 作为《OpenFaaS实战》系列的终篇,在前八篇文章中,理论和实战咱们已经做得够多,最后就做个有实用价值的模板为整个系列划上句号吧; 《OpenFaaS实战之八:自制模板(maven+jdk8)》中做了个java模板:JDK版本是
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
把 xxl-job-2.3.0.zip 上传到Linux系统的 tmp 目录,进行解压
按照官方文档配置启动,默认是不需要登录的,这样会导致配置中心对外直接暴露。而启用鉴权之后,需要在使用用户名和密码登录之后,才能正常使用nacos。
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于《数据库篇》 《quarkus数据库篇》系列是《quarkus实战》的子系列,目标是与大家一起在quarkus框架下完成常用的数据库操作,如配置、增删改查、事物等 本篇概览 本篇敢号称比官方demo更简单,是因为官方关于操作数据库的demo中还有web服务的代码(如接收http请求和响应,以及web库的依赖),而本篇不会有这些代码和依赖,只有存粹的数据
前面的一篇文章,通过对每个项目建立单独的 Dockerfile,可以实现对单个项目生成 Docker 镜像,然后单独启动容器,可以实现简单连接,达到部署的目的。
作者 | Alex Soto 译者 | 张卫滨 策划 | 丁晓昀 为何需要微服务特性? 在微服务架构中,应用程序是由多个相互连接的服务组成的,这些服务协同工作以实现所需的业务功能。 所以,一个典型的企业级微服务架构如下所示: 最初,我们可能认为使用微服务架构实现一个应用程序是很容易的事情。但是,要恰当地完成这一点并不容易,因为我们会面临一些新的挑战,而这些挑战是单体架构所未曾遇到的。举例来讲,这样的挑战包括容错、服务发现、扩展性、日志和跟踪等。 为了应对这些挑战,每个微服务都需要实现在 R
本文你将学到什么? 本文将以原理+实战的方式,首先对“微服务”相关的概念进行知识点扫盲,然后开始手把手教你搭建这一整套的微服务系统。 项目完整源码下载 https://github.com/bz51/SpringBoot-Dubbo-Docker-Jenkins 这套微服务框架能干啥? 这套系统搭建完之后,那可就厉害了: 微服务架构 你的整个应用程序将会被拆分成一个个功能独立的子系统,独立运行,系统与系统之间通过RPC接口通信。这样这些系统之间的耦合度大大降低,你的系统将非常容易扩展,团队协作效率
本文将以原理+实战的方式,首先对“微服务”相关的概念进行知识点扫盲,然后开始手把手教你搭建这一整套的微服务系统。
首先,在主机上创建一个目录,用于存放 Nacos 的配置文件。例如,创建一个名为 nacos 的目录,用于存放 Nacos 的配置文件。
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《quarkus数据库篇》系列的第四篇,来实战一个非常有用的知识点:本地缓存 本地缓存可以省去远程查询数据库的操作,这就让查询性能有了显著提升,然而,对quarkus数据库本地缓存,我们不能抱太大希望,甚至在使用此功能时候要保持克制,不要用在重要场合,官方原文如下 📷 个人的理解(请原谅我不入流的英文水平) quarkus的数据库本地缓存功能,还
博主的quarkus扩展开源系列三连发了,趁热打铁,今天继续带来集成nacos配置中心的扩展,也惙惙的准备开源了,你准备好了么
kkFileView可以用来搭建文件在线预览服务,在Github上已有5.7k+Star。该项目使用流行的SpringBoot搭建,易上手和部署,基本支持主流办公文档的在线预览,如docx、xlsx、pptx、pdf、txt、zip、图片、视频、音频等等。项目特性可以参考下图。
在使用spring boot开发的时候,有时候我们需要在配置文件application.properties文件中添加中文信息。在代码中使用@value获取.但是有时候会乱码。本文记录解决乱码步骤(使用编辑器是IDEA)。
溯光,英文名“TrackRay”,意为逆光而行,追溯光源。同时致敬安全圈前辈开发的“溯雪”,“流光”。
一键部署springcloud微服务,需要用到 Jenkins K8S Docker等工具,自行安装即可。
随着云原生技术的发展,越来越多的业务场景需要使用容器来部署和管理应用程序,而Kubernetes作为容器编排平台的事实标准,自然也受到了越来越多的关注和使用。
领取专属 10元无门槛券
手把手带您无忧上云