发表于: 2017-08-24 22:32:46
6 958
今天完成的事情:设置nginx,学习tuscany
前面代码里已经设置了两个service了,要做的就是nginx上设置一下,和之前任务里设置负载均衡一样。
upstream localhost{
server localhost:8080 weight=5;
server localhost:6666 weiget=5
}
server{
listen 80;
server_name localhost;
location / {
proxy_pass localhost;
}
}
只是在本地搞了两个service,明太难把一个扔到服务器上,跑通的图就不贴了,到时候直接演示。
下午学习了一下tuscany的相关知识,志勇师兄在任务九已经为我们铺好路了,我多翻翻他的日报。
1:什么是tuscany?
tuscany是apache的开源项目,它基于开源SCA框架,是当前开源界最成熟的SCA框架之一,为了简化开发soa解决方案的基础框架.
2:SCA是什么?
SCA全称Service Component Architecture.
是服务组件架构,是一种标准
SCA是面向组件(构件)的架构.(组件就是构件)
基础概念:
1:构件:构件是SCA装配和表达业务功能的基本单元,他可以提供服务或者引用其他构件
2:实现:构件的实现要之处构件的功能具体是如何实现,如java.c++等
3:接口:接口定义一个1-n个业务功能,就是定义组件的多个操作,也就是方法
4:组合构建:可以简单理解为由多个构件组合而成,同时也是SCA域的基本单元.在一个组合构件中包含若干个构件,服务,引用他们之间的连线,以及用于构件配置中的属性
5:属性:通过属性,可以给实现来传递一些外部数据
6:引用:组合构建的引用表示提升了其中构件的引用,构件的引用可以引用其他构件和组合构件
7:服务:服务用于将构件或者组合构件采用一定的协议和访问方式,来为外部程序提供访问
8:连线:引用者与被引用者之间的引用关系
9:绑定:用于将构件绑定为一定的协议对外发布,可以讲=将一种构件绑定为另一种构件,如webservice等
3:什么是SOA?
SOA架构,是一种粗粒度,开放式,松耦合的服务结构,要求软件产品在开发过程中,按照相关的标准或协议,进行分层开发.
通过这种分层设计或架构体系可以使软件产品变得更加弹性和灵活,且尽可能与第三方软件产品互补兼容,以达到快速扩展,满足或响应市场或客户需求的多样化,多变性
SOA体系架构代理的主要观点是业务驱动IT,即业务驱动和业务更加紧密地联系在一起.以粗粒度的业务服务作为几乎来对公司业务进行建模,这样就可以产生简介的业务和系统视图.以业务服务为基础来实现的IT系统更灵活,更易于重用,也更快地应对企业业务需求变化
明天计划的事情:做完任务九,晚上项目演示过任务
遇到的问题:尝试使用springboot进行spring rmi,这个只完成了一半,网上的例子本来就少,又要和我们要求的这样做成聚合项目,能拿来直接参考的没有,只能一点一点拼。准备周六和家铭一起做进复盘评审,这个就先停在这里,先把任务过掉,主要是趁着程凯还在,搭环境遇到的一些坑他能现场帮忙解决,节省时间。
core和service模块基本搞定,service配置文件是没有了,但是需要config文件,主要是web层,controller进行随机访问,访问代码该怎么重构,还有application启动类该怎么弄,有了点头绪,先记在笔记里,到时候再捡起
来,一下是配置代码。
package com.wyc.config;
import com.wyc.service.UserService;
import com.wyc.serviceimpl.UserServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.remoting.rmi.RmiServiceExporter;
@Configuration
public class rmiconfig {
@Autowired
@Qualifier("userServiceImpl")
private UserServiceImpl serviceImpl;
@Bean
public RmiServiceExporter rmiServiceExporter(UserService userService) {
RmiServiceExporter rmiServiceExporter = new RmiServiceExporter();
// 客户端通过rmi调用的端口
rmiServiceExporter.setRegistryPort(6666);
// 客户端调用注册调用的服务名
rmiServiceExporter.setServiceName("userService");
// 注册的service
rmiServiceExporter.setService(serviceImpl);
//注册的接口
rmiServiceExporter.setServiceInterface(UserService.class);
return rmiServiceExporter;
}
@Bean
public RmiServiceExporter rmiServiceExporter(UserService userService1) {
RmiServiceExporter rmiServiceExporter = new RmiServiceExporter();
// 客户端通过rmi调用的端口
rmiServiceExporter.setRegistryPort(8080);
// 客户端调用注册调用的服务名
rmiServiceExporter.setServiceName("userService1");
// 注册的service
rmiServiceExporter.setService(serviceImpl);
//注册的接口
rmiServiceExporter.setServiceInterface(UserService.class);
return rmiServiceExporter;
}
}
收获:学习tuscany。
评论