Spring Native 文档

概述

Spring Native支持使用GraalVM native-image编译器将Spring应用编译为本地可执行文件。

与Java虚拟机相比,native images可以为许多类型的工作负载提供更加经济、可持续的托管。包括微服务,适合容器和Kubernetes的工作负载。

使用native image可以提供一些关键的优势,例如即时启动、即时峰值性能和较低的内存消耗。

但是native image也会存在一些缺点,需要权衡利弊。GraalVM native项目预计会随着时间还在慢慢改进。构建本地镜像是一个比较重的操作,比普通应用构建要慢的多。本地镜像预热之后运行时优化手段也比较少。最后,它还不如JVM成熟,在不同环境下会有一些不同的表现。

普通的JVM和native image平台最主要的区别在于:

  • 在构建时,需要对你的应用程序从主入口进行静态分析
  • 未使用到的部分在构建时会被删除
  • 反射、资源、动态代理需要配置
  • Classpath在构建时被固定
  • 不支持懒加载:可执行文件中的所有内容在启动时都会被加载到内存中
  • 一部分代码在构建时就会被执行
  • java应用程序某一些方面还有一些限制,不完全支持。

此项目的目标是孵化对 Spring Native(Spring JVM 的替代品)的支持,并提供旨在打包在轻量级容器中的本机部署选项。实际上,此项目最终目标是几乎不加修改的情况下,在这个新平台上支持你的 Spring 应用程序。

阅读全文 »

本文主要简单记录学习在k8s集群中部署单节点的Mysql服务(本地开发学习使用,正式环境请使用其它高可用的方案),以及Springboot项目打包构建Docker镜像(使用Google jib插件)并推送到本地Harbor私服仓库,然后在K8S集群中部署。

阅读全文 »

Elaticsearch简称为ES,是一个开源的可扩展的分布式的全文检索引擎,它可以近乎实时的存储、检索数据。本身扩展性很好,可扩展到上百台服务器,处理PB级别的数据。ES使用Java开发并使用Lucene作为其核心来实现索引和搜索的功能,但是它通过简单的RestfulAPI和javaAPI来隐藏Lucene的复杂性,从而让全文搜索变得简单。

阅读全文 »

Redis3.0之后,Redis官方提供了完整的集群解决方案。该方案采用去中心化的方式,包括:sharding(分区)、replication(复制)、failover(故障转移),称为RedisCluster。Redis5.0前采用redis-trib进行集群的创建和管理,需要ruby支持。Redis5.0可以直接使用Redis-cli进行集群的创建和管理。这里主要介绍使用Redis5.0.10搭建RedisCluster集群

阅读全文 »

安装方式介绍

kubernetes官网地址:国外网站,访问速度较慢。 https://kubernetes.io/

kubernets中文社区地址: https://www.kubernetes.org.cn/

k8s集群部署方式:

    1. 使用minikube安装单节点集群,用于测试
    2. 采用工具kubeadm
    3. 使用kubespray,google官方提供的工具。
    4. 全手动:二进制方式安装
    5. 全自动安装:rancher 、kubesphere

本篇主要介绍使用第二种方案,使用kubeadm 安装方式k8s集群

阅读全文 »

ES 默认采用的分页方式是 from+ size 的形式,类似于MySQL的分页offset+limit。当请求数据量比较大时,Elasticsearch会对分页做出限制,因为此时性能消耗会很大

阅读全文 »
0%