在这里写上你的标题副标题文字副标题文字作者名字/日期SAEJava平台的总体概述新浪云计算java平台研发工程师王阳2012年6月30日000102030405写上你的文字你的文字目录Java平台介绍Java平台的安全性Java平台的扩展Java平台的未来000102030405写上你的文字你的文字目录Java平台介绍Java平台的安全性Java平台的扩展Java平台的未来Java平台介绍Java平台特性:1.全部分布式环境2.JVM自动回收,降低用户成本3.JVM自动扩展迁移,增加可靠性4.完善的安全隔离机制5.各种服务客户端支持6.低成本的迁移Java平台介绍物理机器1物理机器2物理机器3代理服务器codefs中央管理器Java平台介绍创建应用时,不会启动JVM实际上传应用的时候才会启动JVMJava平台介绍分布式环境,分布式session物理机器1物理机器2Java平台介绍中央管理器实时监控每个JVM状态当检查到一段时间没有访问后,中央管理器会回收JVM中央管理器Java平台介绍当检查到某个JVM宕机后,会重新启动一个JVM中央管理器新启动一个JVMJava平台介绍当检查到某个JVM有类似死循环这样的代码,导致超配额后,会将当前应用禁用一段时间禁用禁用Java平台介绍删除应用停止停止删除000102030405写上你的文字你的文字目录Java平台介绍Java平台的安全性Java平台的扩展Java平台的未来Java平台的安全性我的应用和别人的应用放在一起安全吗?会不会有一些恶意的应用对我的应用造成破坏?我和别人的应用都是部署在一个机器上,要是他们把机器资源都占光了我怎么办?我的应用出了安全问题,SAE能马上知道吗?Java平台的安全性Java平台的安全特性1.进程级别的隔离2.JVM级别的沙盒控制3.操作系统级别的沙盒控制4.防火墙控制5.应用实时监控6.内部安全检查Java平台的安全性一个物理机器上会同时存在多个JVM每个应用对应一个JVM进程间应用隔离物理机器1物理机器2物理机器3Java平台的安全性通过JVM自身的安全管理机制,控制应用的访问权限Java平台的安全性每个JVM之外还有一层操作系统级别的沙盒控制Java平台的安全性通过防火墙控制网络访问防火墙Java平台的安全性内部实时监控,会定期检查CPU配额异步通知监控计费主机Java平台的安全性当内部的监控程序会实时的检查安全状态当出现问题会邮件或短信报警Java平台的安全性JVM级别的沙盒控制又分两个级别,SAE内部的代码执行权限更高用户自己的代码执行权限较低在JVM级别,我们通过JVM的policy和安全管理器控制了不同级别的安全等级需要访问外部网络等操作调用权限更高的SAEjar包即可Java平台的安全性内部的代码权限更高普通应用的代码权限较低受限制000102030405写上你的文字你的文字目录Java平台介绍Java平台的安全性Java平台的扩展Java平台的未来Java平台的扩展Web容器–jetty启动参数定制非常灵活各个功能模块完全独立通过handler扩展很方便Java平台的扩展扩展了jetty的部署,url重写模块Classloader控制扩展日志模块定制其安全性分布式session支持…….000102030405写上你的文字你的文字目录Java平台介绍Java平台的安全性Java平台的扩展Java平台的未来Java平台的未来Java原生API的支持Eclipse插件控制面板详细的统计功能更多的框架支持Java平台的未来正常情况下直接使用java.net.Socket连接是不允许的Socketsocket=newSocket(“sae.sina.com.cn”,80);Java平台的未来原生socket支持importjava.net.Socet;publicvoidtest(){Socketsocket=newSocket(“sae.sina.com.cn”,80);socket.getOutputStream().write(……);socket.getInputStream.read();//…………..}Java平台的未来原生io类支持importjava.io.FileInputStream;Importjava.io.FileOutputStream;publicvoidtest(){Stringrpath=“saestor://mydomain/hello-read.txt”;Stringwpath=“saestor://mydomain/hello-write.txt”;FileInputStreamfis=newFileInputStream(path);fis.read();FileOutputStreamfos=newFileOutputStream(wpath);fos.write(…..);//……}Java平台的未来原生url类支持importjava.net.URL;Importjava.net.URLConnection;publicvoidtest(){URLurl=newURL(“”);URLConnectionconn=url.openConnection();conn.connect();//……}Java平台的未来Eclipse插件模拟本地环境通过插件提交应用Java平台的未来控制面板更精细的显示Java平台的未来更多的框架支持Java平台的未来等等一些其他的新能够敬请期待。。。关注我们的论坛。。。。在这里写上你的标题副标题文字副标题文字作者名字/日期SAEJava平台的实际应用@智云0o/2012年6月30日新浪云计算Java平台研发工程师黎智云SAEJava是什么普青:是一个Java语言的Paas二青:是一个很大的JavaWeb容器?不需要维护任何服务器,只需上传的war包,它便可为你提供服务文青:是一个云服务的集合MySQL、Memcache、KVDB、FetchURL、Storage、TaskQueue、TmpFS、Cron、DefferedJob、Mail、微博API、服务商店等等SAEJava是什么SinaAppEngineJava提供了安全稳定的Java运行时环境(沙盒)强大的云服务支持(云存储)各种应用监控和统计体系有力的开发支持(日志)对各种Web框架支撑社区的支撑(Cloudbbs)……000102030405写上你的文字你的文字目录1WhySAEJava2SAEJava如何用3SAEJava能做什么WhySAEJava更快(高效开发)更安全稳定(代码、应用)更强大云服务(总类繁多)更低成本(开发、迁移、维护)更简单(易用性)WhySAEJava更快更高效只需上传war包即可使用(后期eclipse插件支持单文件上传)强大的服务API,让你专注业务加速开发应用访问速度更快(强大的Sina机房群的支撑)问题反馈迅速高效WhySAEJava更安全稳定安全的“沙盒”环境每个应用独享JVM应用独享工作空间和日志空间数据安全分布式环境(应用、服务)keeper机制,应用永不宕机WhySAEJava更多更强大的云服务--云存储MySQL/RDCKVDBkey-value数据分布式存储(每位用户支持100G容量)Memcache分布式缓存Storage分布式文件存储WhySAEJava更多更强大的云服务FetchURL抓网页,发请求Mail(兼容JavaMail形式发送)TaskQueue任务队列TmpFS临时IO空间DeferredJob离线任务队列(数据库导出、导入)服务商店提供服务(第三方接入服务:短信服务、服务接入)WhySAEJava更低的成本开发成本低强大的API支撑(日志、社区)迁移成本低(支持SSH等流行web框架,各种APIhook)维护成本低(SAE帮你完成)使用成本低(JVM关闭和自动伸缩、开发者认证、)WhySAEJava更简单易用只需要上传一个war包就可开始体验云服务API支持多人协同开发各类日志和报表SVN支持SAEJava如何用如何在SAE上创建一个Java应用?本地环境搭建?如何使用云服务?如何看应用日志?SAEJava对框架的支持?SAEJava使用技巧?问题如何反馈?SAEJava如何用SAEJava环境JDK版本1.6WEB服务器版本jetty7.xServlet2.5SAEJava如何用SAE上创建一个Java应用–创建应用登陆SAE进入我的首页,点击“创建应用”,填写App信息SAEJava如何用SAE上创建一个Java应用–创建应用JVM相关设置需要上传war包才会开启JVMSAEJava如何用SAE上创建一个Java应用–上传WAR包网页上传:进入应用管理,先创建版本SAEJava如何用SAE上创建一个Java应用–上传WAR包网页上传:每个war包大小不能超过50MSAEJava如何用SAE上创建一个Java应用–上传WAR包SVN上传SVN仓库地址:用户名:SAE安全邮箱密码:SAE安全密码SAEJava如何用SAE上创建一个Java应用–上传WAR包SVN上传创建版本(文件夹),SVN提交war包--完成SAEJava如何用SAE上创建一个Java应用–完成输入如何用本地环境搭建不使用云服务:跟普通的J2EE环境无任何差异要使用云服务:只需将sae-local.jar和依赖jar引入classpath文档中心-开发手册-SAEJava开发手册-下载中心SAEJava如何用本地环境线上环境区别?线上多了一层沙盒环境服务的使用没有区别(本地只是模拟环境、相同API接口)//自动忽略ip和port参数SaeMemcachemc=newSaeMemcache(“localhost”,11211);区分线上线下环境SaeUserInfo对象取得应用的appname、version、Ak、SK、SaeTmpPath、McIP可读取sae.properties文件信息(MySQL无缝结合)SAEJava如何用如何使用云服务MySQL、KVDB、Memcache、FetchURL、Storage、TaskQueue、TmpFS、Cron、DefferedJob、Mail、服务商店下载服务API服务使用的doc如何用如何使用云服务MySQL/RDCRDC关系型数据库集群,一主多从的DB结构,支持千万级数据后端,监控DB健康状况和同步延迟情况,出现异常自动切换。和传统MySQL一样来使用,使用前需要开启应用MySQL服务SAEJava如何用如何使用云服务MySQL/RDC管理MySQL:phpMyAdmin客户端管理数据库跨应用授权:将数据库授权给其他应用SAEJava如何用如何使用云服务MySQL/RDCphpMyAdmin管理数据库SAEJava如何用如何使用云服务MySQL/RDC数据库信息主库写(读)数据从库读数据主库域名SAE_MYSQL_HOST_M='w.rdc.sae.sina.com.cn'从库域名SAE_MYSQL_HOST_S='r.rdc.sae.sina.com.cn'端口SAE_MYSQL_PORT='3307'数据库名SAE_MYSQL_DB='app_appname'用户名SAE_MYSQL_USER=access_key密码SAE_MYSQL_PASS=secret_keySAEJava如何用如何使用云服务MySQL/RDC原生的JDBC代码://主库域名数据库名为app_应用名称Stringurl=jdbc:mysql://w.rdc.sae.sina.com.cn:3307/app_java4test;S