随笔分类 -  ballerina

ballerina platforn project learning
ballerina 学习 三十二 编写安全的程序
摘要:ballerina编译器已经集成了部分安全检测,在编译时可以帮助我们生成错误提示,同时ballerina 标准库 已经对于常见漏洞高发的地方做了很好的处理,当我们编写了有安全隐患的代码,编译器就已经提示给 我们了。 常见的问题 sql 注入 path 操作 file 操作 未授权文件访问 为校验的重 阅读全文

posted @ 2018-11-09 10:51 荣锋亮 阅读(266) 评论(0) 推荐(0) 编辑

ballerina 学习 三十一 扩展开发(二)
摘要:上篇说了使用ballerina 语言开发扩展模块,对于注解类型的我们是需要使用java 语言进行 开发的 官方提供了一个hello 的demo可以参考 https://github.com/ballerinax/hello 注解扩展插件的使用 这个注解是调用方法之后,会生成一个文本文件 import 阅读全文

posted @ 2018-11-06 11:05 荣锋亮 阅读(259) 评论(0) 推荐(0) 编辑

ballerina 学习 三十 扩展开发(一)
摘要:ballerina 主要是分为两大类 基于ballerina 语言开发的,一般是客户端的connector 使用java语言开发的(类似的基于jvm的都可以),一般是注解以及进行构件生成 ballerina 语言开发说明 是一个ballerian 的包 创建一个对象包含了init 、getCalle 阅读全文

posted @ 2018-11-06 10:06 荣锋亮 阅读(572) 评论(0) 推荐(0) 编辑

ballerina 学习二十九 数据库操作
摘要:ballerina 数据操作也是比较方便的,官方也我们提供了数据操作的抽象,但是我们还是依赖数据库驱动的。 数据库驱动还是jdbc模式的 项目准备 项目结构 ├── mysql_demo │ ├── Dockerfile │ ├── docker-compose.yaml │ ├── inid.sq 阅读全文

posted @ 2018-11-05 11:03 荣锋亮 阅读(451) 评论(0) 推荐(0) 编辑

ballerina 学习二十八 快速grpc 服务开发
摘要:ballerina 的grpc 开发模型,对于开发者来说简单了好多,不是schema first 的方式,而是我们 只要编写简单的ballerina service 就可以了,proto 文件是自动帮我们生成的,同时我们用这个 文件方便的生成各种客户端的代码 项目参考 https://balleri 阅读全文

posted @ 2018-11-05 09:18 荣锋亮 阅读(493) 评论(0) 推荐(0) 编辑

ballerina 学习二十七 项目k8s部署&& 运行
摘要:ballerina k8s 部署和docker 都是同样的简单,编写service 添加注解就可以了 参考项目 https://ballerina.io/learn/by-guide/restful-service/ 项目准备 项目代码 import ballerina/http; import b 阅读全文

posted @ 2018-11-05 08:57 荣锋亮 阅读(544) 评论(0) 推荐(0) 编辑

ballerina 学习二十六 项目docker 部署&& 运行(二)
摘要:ballerina 从发布,到现在官方文档的更新也是很给力的,同时也有好多改进,越来越好用了 可以参考官方文档 https://ballerina.io/learn/by-guide/restful-service/ 项目初始化 项目结构 └── guide └── restful_service 阅读全文

posted @ 2018-11-04 23:41 荣锋亮 阅读(294) 评论(0) 推荐(0) 编辑

ballerina 学习二十五 项目docker 部署&& 运行
摘要:ballerina 官方提供了docker 的runtime,还是比较方便的 基本项目创建 使用cli创建项目 按照提示操作就行 ballerina init -i 项目结构 添加了dockerfile 以及docker-compose 简单http 服务 ├── Ballerina.toml ├─ 阅读全文

posted @ 2018-06-02 22:27 荣锋亮 阅读(313) 评论(0) 推荐(0) 编辑

ballerina 学习二十四 监控ballerina
摘要:ballerina 服务的监控还是比较方便的,以及集成了Prometheus Grafana Jaeger Elastic Stack 监控服务监控的集成 主要包含以下几个步骤 a. 安装docker Prometheus Grafana Jaeger Elastic Stack b. 创建简单ba 阅读全文

posted @ 2018-06-02 20:57 荣锋亮 阅读(259) 评论(0) 推荐(0) 编辑

ballerina 学习二十三 扩展ballerina
摘要:扩展ballerina 目前有三种方式: 扩展client connector的包 (数据库访问,基础设施,api) 扩展server listenner 绑定为不同的协议 添加新的注解到ballerina 源码进行编译并修改运行软件包 创建client connector client conne 阅读全文

posted @ 2018-06-02 20:56 荣锋亮 阅读(251) 评论(0) 推荐(0) 编辑

ballerina 学习二十二 弹性服务
摘要:主要包含断路器模式,负载均衡模式,故障转移,重试 Circuit Breaker 参考代码 import ballerina/http; import ballerina/log; import ballerina/runtime; endpoint http:Client backendClien 阅读全文

posted @ 2018-06-01 22:12 荣锋亮 阅读(214) 评论(0) 推荐(0) 编辑

ballerina 学习二十一 http2
摘要:ballerina 支持http2 协议,包含server push http2 协议 参考代码 import ballerina/http; import ballerina/log;endpoint http:Client http2serviceClientEP { url: "http:// 阅读全文

posted @ 2018-06-01 21:52 荣锋亮 阅读(176) 评论(0) 推荐(0) 编辑

ballerina 学习二十 http/https
摘要:提供http && https server && client 访问功能 client endpoint 说白了就是http client 参考代码 import ballerina/http; import ballerina/log;endpoint http:Client clientEnd 阅读全文

posted @ 2018-06-01 21:51 荣锋亮 阅读(260) 评论(0) 推荐(0) 编辑

ballerina 学习十九 安全编程
摘要:ballerina 内部提供了几种常用的安全开发模型,token 认证(jwt) basic auth jwt 安全 参考代码 import ballerina/http; http:AuthProvider jwtAuthProvider = { scheme:"jwt", issuer:"bal 阅读全文

posted @ 2018-06-01 16:20 荣锋亮 阅读(228) 评论(0) 推荐(0) 编辑

ballerina 学习十八 事务编程
摘要:事务在分布式开发,以及微服务开发中是比较重要的 ballerina 支持 本地事务、xa 事务、分布式事务 ,但是具体的服务实现起来需要按照ballerian 的事务模型 infection agreement 基本事务使用(本地事务) 参考代码(数据库) import ballerina/mysq 阅读全文

posted @ 2018-06-01 13:51 荣锋亮 阅读(297) 评论(0) 推荐(0) 编辑

ballerina 学习十七 多线程编程
摘要:并发&&多线程开发对于日常的处理是比较重要的,ballerina 支持的模式有work fork/join async lock 基本workers 参考代码 import ballerina/io; function main(string… args) { worker first { io:p 阅读全文

posted @ 2018-05-31 09:40 荣锋亮 阅读(270) 评论(0) 推荐(0) 编辑

ballerina 学习十六 错误&&异常处理
摘要:ballerina 的error 处理和elxiir 以及rust 比较类似使用模式匹配,但是他的 error lifting 还是比较方便的 同时check 也挺好,异常处理没什么特殊的 throw 以及 throw catch finally 简单例子 error-handling import 阅读全文

posted @ 2018-05-19 23:08 荣锋亮 阅读(213) 评论(0) 推荐(0) 编辑

ballerina 学习十五 控制流
摘要:ballerina 的控制流没有什么特殊,只是相比一般语言多了一个模式匹配的操作match ,实际上其他语言(erlang elixir rust 中的模式匹配是很强大的) 简单例子 if/else import ballerina/io; function main(string… args) { 阅读全文

posted @ 2018-05-19 22:48 荣锋亮 阅读(195) 评论(0) 推荐(0) 编辑

ballerina 学习十四 values && types
摘要:ballerina 包含的数据类型有string int map array record boolean ojbect function table tuple any 简单说明 数据类型和其他语言相比没有设么特殊的,因为是借鉴了好多中语言其中的table 还是不错(C# datatable) 直 阅读全文

posted @ 2018-05-19 22:35 荣锋亮 阅读(246) 评论(0) 推荐(0) 编辑

ballerina 学习十三 函数&&documentation
摘要:ballerina 函数和其他语言一样的,可以实现重用 简单例子 代码 import ballerina/io; documentation { `User` is a user defined object F{{name}} This is the description for the Use 阅读全文

posted @ 2018-05-19 22:18 荣锋亮 阅读(164) 评论(0) 推荐(0) 编辑

导航