发表于: 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。


返回列表 返回列表
评论

    分享到