欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Apache Usergrid
Apache Usergrid 是一个面向web和移动应用的多租户 Backend-as-a-Service 堆栈,基于 RESTful APIs,使用 Apache Cassandra 做后端存储。
目录 |
版本
- 2.1
- 2.0
- 1.0
应用对象
Usergrid提供了一组核心应用程序对象,主要实现了对用户的管理以及对交互性的增强、通过自由的数据存储系统存储数据、检索以及返回任何类型的内容和对象集合等。Usergrid也提供了对日志数据的支持,这使得实时事件分析和关键指标的跟踪成为可能,这块可考虑由OpenTSDB提供服务。
应用对象(Data Entity Types)包括:
- 用户(user)
- 用户组(group)
- 角色(role)
- 应用(application)
- 行为(activity)
- 设备(device)
- 资源(asset)
- 目录(folder)
- 事件(event)
- 通知(notifier)
- 通告(notification)
- 收到(receipt)
每个对象都被保存在其各自的集合中(/users,/groups……)。Usergrid也允许创建用户想要的任何类型的动态(自定义的)实体。动态实体会被自动保存在以实体类型复数为名称的集合中。
授权
Usergrid的API实现了OAuth 2.0的授权模型,所有的请求都需要带有有效的访问令牌。
消息
Usergrid提供了一个消息队列服务,该服务为保证高扩展性的同时向应用中分发消息所设计。此外为了使消息队列服务具备一定的灵活性,还将会增加客户通知、社交收件箱、内容源、评论功能以及其他一些常见的消息队列操作。该框架支持使用Websocket来进行实时处理。
指南
确保已正确安装 Apache Cassandra,下载usergrid包并解压
cd stack mvn clean package -DskipTests=true cd launcher; java -jar target/usergrid-launcher-*.jar curl http://localhost:8080/status curl -X POST \ -d 'organization=myfirstorg&username=myadmin&name=Admin&[email protected]&password=password' \ http://localhost:8080/management/organizations curl 'http://localhost:8080/management/token?grant_type=password&username=myadmin&password=password'
你也能以 tomcat webapp 的方式运行, 移除 tomcat/webapps/ROOT 下的内容,将 usergird/rest/ROOT.war 拷贝到这
cd tomcat/lib 创建 ____usergrid-custom.properties____
usergrid.sysadmin.login.allowed=true usergrid.sysadmin.login.name=superuser usergrid.sysadmin.login.password=pw123 [email protected] [email protected] usergrid.management.mailer=Myself<[email protected]> [email protected] usergrid.test-account.admin-user.password=test
数据库设置
http://localhost:8080/system/database/setup
管理员设置
http://localhost:8080/system/superuser/setup
控制台, 配置文件 usergrid-custom.properties
http://localhost:8080/usergrid-portal
开发者
用户
文档
- Building Your Own BaaS With Apache Usergrid & Docker: Lessons Learned At Scale
- How to Contribute to Apache Usergrid
- Apache Usergrid Internals
- Open Source Mobile Backend on Cassandra