订阅内容

We met with a whole bunch of people at the recent DevNation Gluster hackathon, but Louis was the only one wearing a fedora. After awarding him bonus points, we sat down and talked about his project to bridge Gluster with Java.

Louis Zuckerman Louis Zuckerman at DevNation’s Gluster Hackathon

Who are you?

I’m Louis Zuckerman, CTO of Picture Marketing, and GlusterFS board member and package maintainer.

What are you working on?

My project is to bridge Gluster with Java. Gluster 3.4, a recent release, introduced a new client API where programs can link directly to Gluster. What I’m working on is building bindings in Java for the Gluster client API, which allows any program running on the Java platform to use Gluster directly.

What’s the benefit of your project?

Before libgfapi – the Gluster client library – was available, the only way to access GlusterFS was through a FUSE mount that limited performance and required system level support. So one benefit of linking to Java is that high-performance apps don’t need to go through FUSE, which increases performance.

There are other benefits too. When you’re working with FUSE, you’re going through the file system on Linux, and you need system support. The system has to be set up for it: root access, a mount set up in the system. But if you link directly with Gluster, you can just run your application like a normal user, and you don’t need special support from the system.

OpenShift, Heroku, Google App Engine, Amazon Elastic Beanstalk, these are platform as a service (PaaS) cloud providers. You can deploy your app but you can’t make demands on the underlying system. You can’t say, “I need a mount at this directory.” When apps can communicate directly with Gluster they can be deployed on a wider variety of platforms, such as PaaS clouds.

Here’s another benefit: There are a lot of languages that can run on the JVM, and they can all use my library since it’s all just code on the JVM.  Two popular languages with native C bindings to Gluster are Python and Ruby.  My library provides support for Gluster through their JVM counterparts, JRuby and Jython.  There are many more languages that run on Java Virtual Machine, like Scala, Clojure, and Groovy to name just a few, and all of these languages can make use of my library.  I should clarify that I’m not only building a low level C to Java binding (through JNI) but also a high level Java Filesystem Provider implementation (through NIO.2) which is very easy to use – far easier than the low level libgfapi C bindings in other language runtimes.

Any parting words?

I’m also the maintainer of the Debian and Ubuntu packages for the Gluster community. Anybody using Gluster on Ubuntu is using my packages. I’m active in IRC on Freenode, in the #gluster channel, with the username Semiosis.

Anyone interested should please drop in to IRC, and of course check out the project on Github: https://github.com/semiosis/glusterfs-java-filesystem


关于作者

UI_Icon-Red_Hat-Close-A-Black-RGB

按频道浏览

automation icon

自动化

有关技术、团队和环境 IT 自动化的最新信息

AI icon

人工智能

平台更新使客户可以在任何地方运行人工智能工作负载

open hybrid cloud icon

开放混合云

了解我们如何利用混合云构建更灵活的未来

security icon

安全防护

有关我们如何跨环境和技术减少风险的最新信息

edge icon

边缘计算

简化边缘运维的平台更新

Infrastructure icon

基础架构

全球领先企业 Linux 平台的最新动态

application development icon

应用领域

我们针对最严峻的应用挑战的解决方案

Virtualization icon

虚拟化

适用于您的本地或跨云工作负载的企业虚拟化的未来