QWAZR is a set of microservices dedicated to scalable, failover, distributed projects.
By building QWAZR, our goal is to provide an easy and efficient way to build scalable applications that require both distributed processes and fail-over abilities.
This project is a work in progress. The current version of QWAZR (1.0.1) comes with the following services:
- Webapps : A model-view-controller application server,
- Scheduler: A multi-master scheduler,
- Scripts: A distributed JAVA/Javascript job service,
- Library : A set of connectors and tools to link your application to the outside world (Cassandra, MongoDB, MySQL, HDFS, LDAP, FTP, etc.) and data management (language tools, markdown to HTML converter, Freemarker, XML parser and writer, etc.).
- Crawlers : A distributed (web) crawler,
- Extractor : Text extraction from various kinds of binaries files,
- Search: Full-text indexation and search based on Lucene,
- Database: A NoSQL key/value database based on LevelDB.
- Cluster : Manages the cluster's nodes.
The Search microservice is currently available as a stand-alone Docker image.
Here is two examples of QWAZR applications which can be used as tutorials. By running one of this 5 minutes tutorials you will create a small web site, a REST/JSON API connected to a MongoDB database.
- Javascript example
- Java example
- Instructions how to install QWAZR on Linux
Deployed on several servers, the (multi) masters and the nodes work together, sharing the required information to provide a fault-tolerant distributed environment.
The server also provides a set of JSON REST web services that manages distributed jobs, web applications and data persistence.
The Javascript and The JAVA source code can be updated without having to restart the server. The source code is automatically compiled without having to restart the application server.
The purpose of this Wiki.
We believe that open source is a smart way to build amazing software. QWAZR is provided under the Apache 2.0 license.
There are many ways to contribute to the project:
- The source code is here, you may fork, compile, develop and provide patches.
- API Javadocs
- We are currently writing the documentation in the source pages. You may suggest subjects, tutorials, etc.
We support QWAZR on StackOverflow. We monitor and answer questions with the tag "qwazr": Ask a question.
You can use the software and provide feedback, bug reports and/or feature requests.
Anyway, thanks to support the QWAZR project !
Issues and milestones are tracked on GitHub:
Copyright 2015/2016 Emmanuel Keller / QWAZR
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.