采用JS语法,快速上手模板引擎,同时也支持XML标签语法。是目前唯一同时支持脚本和XML的模板引擎
用JS语法使用习惯,可以边写猜完成模板编写,几乎不需要对照Beetl文档
提供模板引擎特定语法,比如for elsefor, 省略的三元表达式,安全输出表达式或者全局安全输出配置,方便模板编写
Beetl支持定义XML标签并通过Java或者模板实现标签
支持XML标签高级功能,如父子标签,或者标签的变量绑定
Beetl每秒能渲染100万次普通页面,Beetl渲染性能40倍Thymleaf3,30倍Velocity,4倍Freemarker
对于新的模板引擎,5倍Handbar
对于新的模板引擎,4倍Rocker
Beetl内部使用脚本引擎完成模板渲染,任何需要脚本或者规则的应用,都可以使用Beetl模板引擎,脚本引擎支持各种表达式,执行速度非常快
Beetl接近阿里Aviator执行速度,远远大于Spel,Mvel,Groovy,Nashorn执行速度
自定义和扩展模板一切特性,自定义模板的定界符,自定义函数,标签,xml标签,自定义引擎实现逻辑。通过自定义引擎,可以对语法和实现进行裁剪
比如禁止while的无限循环,禁止复杂的渲染逻辑
从2010年开始研发,提交版本上千次,start累计超千
回答Issues数以千计,参加开发的有数十人
数以千计用户,包含京东,阿里,百度,中电信等
本篇用于扯淡,包含业务架构,应用架构,数据架构,以及技术架构,重点介绍技术架构,包括开发架构,物理架构,架构风格和架构的质量属性
架构风格包含混沌架构,分层架构,流水线,消息驱动,微服务架构,代理模式等
质量属性驱动的架构,包含了高可用,高性能,可修改战术,以及可观测方法
全书预计500页
本篇用于实战,高性能架构实现战术:20+性能优化战术,JVM和JIT优化,使用JMH衡量性能,以及预编译,预处理,反射优化,压缩,对象池,缓冲池,Java魔法类等
高可用架构实战战术:20+高可用实现战术,包括分布式API设计原则,分布时调用注意实现重试,超时控制和心跳,幂等实现,还有择高可用的序列化协议,洪峰和限流,无状态服务,底层高可用IO实现等,并包含验证高可用的捣乱技术
可修改战术:使用Cucumber,TestContainer完善单元测试,动态逻辑使用参数化系统,或者使用DSL,规则引,擎脚本引擎,流程引擎。使用HotBean技术实现无需重启的热加载,或者DCEVM不受限制的热加载
本篇让架构师具备上帝视角,包括操作系统可观测:CPU,内存,磁盘,以及网路的观测,以及捣乱技术
JVM可观测:JVM垃圾回收和内存优化技术,通过MAT等观测JVM实时内存和离线内存
JAVA系统可观测:通过VisualVM,Skywalking粗略观测JAVA系统运行
JAVA应用可观测:通过自建指标系统,观测Java应用运行状况,进行预警或者得出业务数据
传统数据库:MySQL (包括支持 MySQL 协议的各种数据库), MariaDB ,Oralce ,Postgres (包括支持 Postgres 协议的各种数据库), DB2 , SQL Server ,H2 , SQLite , Derby ,神通,达梦,华为高斯,人大金仓,PolarDB,GBase8s,GreatSQL 等
大数据,HBase,ClickHouse,Cassandar,Hive,GreenPlum,Doris,Oceanbase,ymatrix
物联网时序数据库:Machbase,TD-Engine,IotDB,Openplant
SQL 查询引擎:Drill,Presto,Druid,Trino内存数据库:ignite,CouchBase
BeetlSQL同Mybatis理念类似,以SQL为中心的ORM工具,通过Markdown或者XML文件管理复杂SQL,适合复杂大型系统
BeetSQL 内置了常用的SQL,以及Query类,简单的数据库操作无需编写SQL,支持小系统的快速开发
BeetSQL 提供了类似JPA那样丰富的内置功能和ORM Mapping映射支持
BeetlSQL的性能,无论是内置增删改查,还是文件管理SQL操作,访问数据型性能接近手工编写JDBC性能的一半
5倍于目前常用的MyBatis扩展,倍于JPA
BeetlSQL几乎可以扩展任何一处特性,并内置了代码生成扩展,SQL防火墙扩展,XML格式扩展,动态表格扩展,性能加速扩展,SQL重写扩展(如多租户,逻辑删除支持),企业级字段加密
从2014年开始研发,提交版本上千次,start累计超千
回答Issues数以千计,参加开发的有数十人
数以千计用户,尤其是要求国产化软件的系统用户,疫情期间,武汉雷神山医院管理系统采用BeetlSQL