SlideShare a Scribd company logo
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
, . 8 1/ L C
9 2 88 9 2 8 0
/ 8 1 /1 DBL
. 1 8 .
, . 8 8 8 0
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
n Java 20
Swing UI )
n
Java
n 2019 4
&
n
2
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 3
e ea N 1
C
..
5
c 4 N3 2
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 4
e ea N 1
C
..
5
c 4 N3 2
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 5
n “CASE”
– C (Connected)
– A (Autonomous)
– S (Shared & Services)
– E (Electric)
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 6
https://www3.nissan.co.jp/connect/service_skyline/service.html
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
n
n to
n
n
n push
n
n
n
7
https://www3.nissan.co.jp/connect/service_skyline/service.html
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
https://www.amazon.co.jp/NISSAN-MOTOR-CO-LTD-LEAF/dp/B074KCT1SY
• EV
Alexa Skill
•
Alexa
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
https://play.google.com/store/apps/details?id=com.aqsmartphone.android.nissan_jp
•
• EV(Electric Vehicle)
EV
• NissanConnect
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
https://play.google.com/store/apps/details?id=jp.co.nissan.nissanconnect.ice
•
• ICE(Internal
Combustion Engine)
ICE
• NissanConnect (
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
n Web
n
n
11
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
n
–
–
– (E2E )
nWeb
–
– validation
12
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 13
e ea N 1
C
..
5
c 4 N3 2
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
System Overview (End to End)
14
Car GatewayService Layer Backends
(IS/IT) Telematics Service Provider
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
System Overview (Cloud)
15
Car Gateway
GenX
Alliance Service Layer
Backends
( Alliance Platform)
Nissan Service Layer
Backends
Nissan Backend For
Frontend
Car Gateway
GenY
Car Gateway
abstraction
IS/IT TSP
Integration
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
System Overview (Cloud)
16
Car Gateway
GenX
Alliance Service Layer
Backends
( Alliance Platform)
Nissan Service Layer
Backends
Nissan Backend For
Frontend
Car Gateway
GenY
Car Gateway
abstraction
IS/IT TSP
Integration
SpringSpring
Spring
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
System Overview (Cloud)
17
Car Gateway
GenX
Alliance Service Layer
Backends
( Alliance Platform)
Nissan Service Layer
Backends
Nissan Backend For
Frontend
Car Gateway
GenY
Car Gateway
abstraction
IS/IT TSP
Integration
SpringSpring
Spring
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
n PaaS
–Microsoft Azure(VM, Database, Monitor, CosmosDB)
–Pivotal Cloud Foundry( PCF)
–RabbitMQ
–Jenkins(Build, Unit Test, Code Check, Deployment…)
n Framework
–Java/Spring Boot
–Node.js/Express
18
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
Spring
nSpring Boot(Web, JPDA, Redis, RabbitMQ, Security, Actuator)
nSpring Cloud Sleuth
nSpring Cloud Stream
nSpring Cloud Netflix Zuul
nSpring Cloud Config, Spring Cloud Bus( )
nSpring Cloud Circuit Breaker( RC)
19
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 20
e ea N 1
C
..
5
c 4 N3 2
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
NissanConnect
n
– NissanConnect
–
21
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 22
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
NissanConnect ( )
n
–Alliance Platform
–
–NissanConnect EV
23
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
NissanConnect ( )
n
–Alliance Platform
– Car Gateway Alliance Platform
–Java / Spring Boot
24
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
NissanConnect ( )
25
Alliance Platform
(many microservices)
Car Gateway
AdaptationModule
Platform Spring Boot Microservices
Car Gateway
EV
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
NissanConnect ( )
n
–NissanConnect EV Alliance Platform
– CarGateway Alliance Platform
• contribution
• Car Gateway
–Alliance Platform
• breaking change
26
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 27
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
NissanConnect ( )
n
–
–NissanConnect EV
– ( IS/IT ) Integration
– Car Gateway
28
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
NissanConnect ( )
n
– IS/IT Integration
–Java / Spring Boot
–
–Alliance Platform (bug, breaking change…)
29
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
NissanConnect ( )
30
Alliance Platform
(many microservices)
Car Gateway
ICE
Nissan Backend
(monolith)
Zuul Proxy
IS/IT
Rest API
Global Zuul Proxy Integration Spring Web
/alliance proxy Spring Web /nissan
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
NissanConnect ( )
31
IS/IT
Spring Boot Application
HandlerIntercepter Spring Web Controller
ZuulFilter Zuul Proxy
Spring Web
Zuul
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
NissanConnect ( )
n
– IS/IT backend
– Spring Boot
• Alliance Platform Zuul Proxy
• API Spring Web
32
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
Spring Cloud Netflix Zuul
n
–
– API Gateway
– https://cloud.spring.io/spring-cloud-netflix/reference/html/#router-and-filter-zuul
n Maven dependency
n application.properties
33
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
#
zuul.routes.foo.path=/alliance/foo/v1/**
#
zuul.routes.foo.url=${foo.domain}/v1/**
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
Spring Cloud Netflix Zuul
n Spring Web Spring Cloud Netflix Zuul
n Timeout
34
@EnableZuulProxy // Zuul Proxy
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
zuul.host.connect-timeout-millis=5000
zuul.host.socket-timeout-millis=65000
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
Spring Cloud Netflix Zuul
n
– ZuulFilter ErrorController
– “filterZuulException”
35
@RestController
public class ZuulErrorController extends AbstractErrorController {
@Value("${error.path:/error}")
private String errorPath;
@Override
public String getErrorPath() {
return errorPath;
}
@RequestMapping(value = "${error.path:/error}", produces = "application/vnd.api+json;charset=UTF-8")
public ResponseEntity error(HttpServletRequest request) {
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
Spring Cloud Netflix Zuul
n
36
@Component
public class AllianceErrorFilter extends ZuulFilter {
@Override
public String filterType() {
return "post";
}
@Override
public boolean shouldFilter() {
RequestContext ctx = RequestContext.getCurrentContext();
if(ctx.getRequest().getRequestURI().contains("/alliance") && ctx.getResponse().getStatus() != 200) {
return true;
}
return false;
}
@Override
public Object run() {
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 37
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
NissanConnect ( )
n
–
–
38
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
NissanConnect ( )
n
–
–
– done →PJ
39
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
NissanConnect ( )
40
Alliance Platform
(many microservices) Car Gateway
Nissan
Backend For Frontend (BFF)
Nissan Service Layer
Backends
(divided as microservice)
Nissan Backend
(monolith)
ICE
PJ
IS/IT
backend PJ
microservice Spring Boot
API Gateway Backend For Frontend( BFF)
PJ
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
NissanConnect ( )
n
– Backend For Frontend
– Microservice
–
–
41
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 42
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
NissanConnect ( )
n
–
–
– Alliance Platform
• Alliance Platform
43
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
NissanConnect ( )
n
– backend
• IS/IT
• Deploy
• ( RR )
–Microservices
•
•
44
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
Nissan Service Layer
Backends
(divided as microservice)
Nissan
Backend For Frontend (BFF)
NissanConnect ( )
45
Alliance Platform
(many microservices) Car Gateway
Nissan
Backend For Frontend (BFF)
Nissan
Backend for IS/IT
ICE
PJ
IS/IT
Backend
IS/IT BFF
ICE BFF
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
NissanConnect ( )
n
– RR Microservice
–
–Microservice
• Spring Cloud Config
• Spring Cloud Circuit Breaker + Rejilience4J
46
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
n
n
n
47
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
e ea N 1
C
..
48
5
c 4 N3 2
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
n
– Microservices
–
•
•
• (on going)
• PCF / Spring Boot Actuator
49
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
n
– Spring Boot slf4j + logback
– Spring Boot Profile
– Profile logback-spring.xml
n
–
•
• ( 1 )
– Azure Log Analytics
• JSON
• 1 ( 1 )
50
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
n logback-spring.xml
– logback.xml
– springProfile Profile
51
<?xml version="1.0"?>
<configuration>
<springProfile name = "prod">
<!-- prod -->
</springProfile>
<springProfile name="!(prod | local)">
<!– prod, local -->
</springProfile>
<springProfile name="local">
<!– local -->
</springProfile>
</configuration>
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
n Microservice
52
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
n Microservice
53
HTTP
HTTP
ServletFilter AutoConfiguration
HTTP
HTTP
RestTemplate ClientInterceptor AutoConfiguration
RabbitMQ RabbitTemplate Aspect AutoConfiguration
RabbitMQ SimpleRabbitListenerContainerFactory
Advice
RabbitListener
JavaConfig
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
n
– Microservice
– Spring Cloud Sleuth
– https://cloud.spring.io/spring-cloud-static/spring-cloud-sleuth/2.2.0.RELEASE/reference/html/
n Maven dependency
n Sample (logging)
– traceId: The ID of the latency graph that contains the span. ( )
– spanId: The ID of a specific operation that took place. ( )
54
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
2019-12-18 14:30:56.901 INFO [bar,6bfd228dc00d216b,6bfd228dc00d216b,false] 23031 --- [nio-8081-exec-3] ...
2019-12-18 14:30:59.373 ERROR [bar,6bfd228dc00d216b,6bfd228dc00d216b,false] 23031 --- [nio-8081-exec-3] ...
2016-12-18 14:31:02.939 INFO [bar,46ab0d418373cbc9,46ab0d418373cbc9,false] 23031 --- [nio-8081-exec-4] ...
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 55
n
– Azure Monitor
• Top10
–
• micrometer(https://micrometer.io/)
• Microsoft app insight(Alliance Platform )
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
PCF / Spring Boot Actuator
n
– PCF deploy Spring Boot Spring Boot Actuator PCF App Manager UI
–
– PCF /cloudfoundryapplication
– /${service-context}/actuator/${endpoint} PCF
n
– https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html
– https://docs.pivotal.io/platform/application-service/2-7/console/spring-boot-actuators.html
56
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
PCF / Spring Boot Actuator
n Tips
– spring-boot-maven-plugin build-info target jar
– PCF App Manager UI deploy
57
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.4.2.RELEASE</version>
<executions>
<execution>
<goals>
<goal>build-info</goal> <!– -->
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
PCF / Spring Boot Actuator
n Tips
– Deploy Spring Boot Servlet Context /cloudfoundryapplication servlet context
– https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html#production-ready-cloudfoundry
58
@Bean
public TomcatServletWebServerFactory servletWebServerFactory() {
return new TomcatServletWebServerFactory() {
@Override
protected void prepareContext(Host host, ServletContextInitializer[] initializers) {
super.prepareContext(host, initializers);
StandardContext child = new StandardContext();
child.addLifecycleListener(new Tomcat.FixContextListener());
child.setPath("/cloudfoundryapplication");
ServletContainerInitializer initializer =
getServletContextInitializer(getContextPath());
child.addServletContainerInitializer(initializer, Collections.emptySet());
child.setCrossContext(true);
host.addChild(child);
}
};
}
private ServletContainerInitializer getServletContextInitializer(String contextPath) {
return (c, context) -> {
Servlet servlet = new GenericServlet() {
@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException,
IOException {
ServletContext context = req.getServletContext().getContext(contextPath);
context.getRequestDispatcher("/cloudfoundryapplication").forward(req, res);
}
};
context.addServlet("cloudfoundry", servlet).addMapping("/*");
};
}
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
n
n
n PCF + Actuator
59
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
e ea N 1
C
..
60
5
c 4 N3 2
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
n
– Microservices Microservice
–
61
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
Auto Reconfiguration by Java Buildpack
n
–Spring Boot PCF deploy DB Datasource
– Spring Boot
62
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
Auto Reconfiguration by Java Buildpack
63
@Profile("cloud")
@Configuration
public class CloudFoundryConfig {
@Bean
public Cloud cloud() {
return new CloudFactory().getCloud();
}
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() {
DataSource ds = cloud().getSingletonServiceConnector(DataSource.class, null);
return (ds instanceof DelegatingDataSource) ? ((DelegatingDataSource) ds).getTargetDataSource() : ds;
}
}
n
– Java Buildpack Auto Reconfiguration Datasource
– Cloud JavaConfig
– Datasource @ConfigurationProperties
– return
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
RestTemplate with Apache HttpClient
64
n
– RestTemplate java.net.HttpUrlConnection
HTTP
– HttpClient RestTemplate HttpClient
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
RestTemplate with Apache HttpClient
n
– HttpClient (PoolingHttpClientConnectionManager)
65
maxConnPerRoute
2
maxConnTotal
20
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
RestTemplate with Apache HttpClient
n LoadBalancer
– LB
(Azure LB 4min(240sec) )
– TCP/IP FIN HttpClient
Timeout
66
Spring Boot
Application LB
FIN
FIN
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
RestTemplate with Apache HttpClient
n
– HttpClientBuilder JavaConfig
– LB TimeToLive
– HTTP (Redis )
67
public ClosableHttpClient httpClient() {
return HttpClients.custom()
.setMaxConnPerRoute(routeMaxConnection) // set max connection
.setMaxConnTotal(totalMaxConnection) // set max connection
.setConnectionTimeToLive(180, TimeUnit.SECONDS) // set connection ttl to 180s
.evictExpiredConnections() // enable evict expired connection
.build();
}
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
n DB
n RedisTemaplate
68
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
n Microservices
n
n HTTP
n PCF Auto Reconfiguration
69
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
n Spring Boot Microservices
n Microservices
n
n
71
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
!
Wantedly
https://www.wantedly.com/projects/333155
(C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
! !

More Related Content

What's hot

Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
 
昨今のストレージ選定のポイントとCephStorageの特徴
昨今のストレージ選定のポイントとCephStorageの特徴昨今のストレージ選定のポイントとCephStorageの特徴
昨今のストレージ選定のポイントとCephStorageの特徴
Takuya Utsunomiya
 
データ分析基盤を支えるエンジニアリング
データ分析基盤を支えるエンジニアリングデータ分析基盤を支えるエンジニアリング
データ分析基盤を支えるエンジニアリング
Recruit Lifestyle Co., Ltd.
 
クラウドのためのアーキテクチャ設計 - ベストプラクティス -
クラウドのためのアーキテクチャ設計 - ベストプラクティス - クラウドのためのアーキテクチャ設計 - ベストプラクティス -
クラウドのためのアーキテクチャ設計 - ベストプラクティス -
SORACOM, INC
 
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
 
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
VirtualTech Japan Inc.
 
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdfわたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
ssuser868e2d
 
失敗事例にみるDbの負荷試験の重要性
失敗事例にみるDbの負荷試験の重要性失敗事例にみるDbの負荷試験の重要性
失敗事例にみるDbの負荷試験の重要性
Kazu Onishi
 
AWS Lambdaのテストで役立つ各種ツール
AWS Lambdaのテストで役立つ各種ツールAWS Lambdaのテストで役立つ各種ツール
AWS Lambdaのテストで役立つ各種ツール
Masaki Suzuki
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
 
「視線」を科学する。 Media pipeを用いた視線計測の手法について-
「視線」を科学する。 Media pipeを用いた視線計測の手法について-「視線」を科学する。 Media pipeを用いた視線計測の手法について-
「視線」を科学する。 Media pipeを用いた視線計測の手法について-
ssuser357a3e1
 
Black Belt Online Seminar Amazon Cognito
Black Belt Online Seminar Amazon CognitoBlack Belt Online Seminar Amazon Cognito
Black Belt Online Seminar Amazon Cognito
Amazon Web Services Japan
 
Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316
Nozomi Kurihara
 
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
NTT DATA OSS Professional Services
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
 
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
NTT DATA Technology & Innovation
 
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方
Recruit Lifestyle Co., Ltd.
 
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
Masaya Tahara
 
初心者向けWebinar AWSで開発環境を構築しよう
初心者向けWebinar AWSで開発環境を構築しよう初心者向けWebinar AWSで開発環境を構築しよう
初心者向けWebinar AWSで開発環境を構築しよう
Amazon Web Services Japan
 

What's hot (20)

Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
 
昨今のストレージ選定のポイントとCephStorageの特徴
昨今のストレージ選定のポイントとCephStorageの特徴昨今のストレージ選定のポイントとCephStorageの特徴
昨今のストレージ選定のポイントとCephStorageの特徴
 
データ分析基盤を支えるエンジニアリング
データ分析基盤を支えるエンジニアリングデータ分析基盤を支えるエンジニアリング
データ分析基盤を支えるエンジニアリング
 
クラウドのためのアーキテクチャ設計 - ベストプラクティス -
クラウドのためのアーキテクチャ設計 - ベストプラクティス - クラウドのためのアーキテクチャ設計 - ベストプラクティス -
クラウドのためのアーキテクチャ設計 - ベストプラクティス -
 
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
 
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdfわたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
 
失敗事例にみるDbの負荷試験の重要性
失敗事例にみるDbの負荷試験の重要性失敗事例にみるDbの負荷試験の重要性
失敗事例にみるDbの負荷試験の重要性
 
AWS Lambdaのテストで役立つ各種ツール
AWS Lambdaのテストで役立つ各種ツールAWS Lambdaのテストで役立つ各種ツール
AWS Lambdaのテストで役立つ各種ツール
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
 
「視線」を科学する。 Media pipeを用いた視線計測の手法について-
「視線」を科学する。 Media pipeを用いた視線計測の手法について-「視線」を科学する。 Media pipeを用いた視線計測の手法について-
「視線」を科学する。 Media pipeを用いた視線計測の手法について-
 
Black Belt Online Seminar Amazon Cognito
Black Belt Online Seminar Amazon CognitoBlack Belt Online Seminar Amazon Cognito
Black Belt Online Seminar Amazon Cognito
 
Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316
 
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
 
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方
 
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
 
初心者向けWebinar AWSで開発環境を構築しよう
初心者向けWebinar AWSで開発環境を構築しよう初心者向けWebinar AWSで開発環境を構築しよう
初心者向けWebinar AWSで開発環境を構築しよう
 

Similar to Spring Boot and Spring Cloud Inside NissanConnect at SPRING FEST '19

Integrating Service Mesh with Kubernetes-based connected vehicle platform
Integrating Service Mesh with Kubernetes-based connected vehicle platformIntegrating Service Mesh with Kubernetes-based connected vehicle platform
Integrating Service Mesh with Kubernetes-based connected vehicle platform
Jun Kai Yong
 
Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...
Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...
Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...
Amazon Web Services
 
Kubernetes based connected vehicle platform #k8sjp_t1 #k8sjp
Kubernetes based connected vehicle platform #k8sjp_t1 #k8sjp Kubernetes based connected vehicle platform #k8sjp_t1 #k8sjp
Kubernetes based connected vehicle platform #k8sjp_t1 #k8sjp
Kenta Suzuki
 
Introduction to AWS Global Accelerator - SVC211 - Chicago AWS Summit
Introduction to AWS Global Accelerator - SVC211 - Chicago AWS SummitIntroduction to AWS Global Accelerator - SVC211 - Chicago AWS Summit
Introduction to AWS Global Accelerator - SVC211 - Chicago AWS Summit
Amazon Web Services
 
How To Use AGL CAN Signal
How To Use AGL CAN SignalHow To Use AGL CAN Signal
How To Use AGL CAN Signal
Yuichi Kusakabe
 
A few milliseconds in the life of an HTTP request
A few milliseconds in the life of an HTTP requestA few milliseconds in the life of an HTTP request
A few milliseconds in the life of an HTTP request
Amazon Web Services
 
Digital Thread in Shipbuilding: Vision vs Reality
Digital Thread in Shipbuilding: Vision vs RealityDigital Thread in Shipbuilding: Vision vs Reality
Digital Thread in Shipbuilding: Vision vs Reality
Marc Lind
 
pmconf2019 - Nissan
pmconf2019 - Nissanpmconf2019 - Nissan
pmconf2019 - Nissan
Masayuki Ebisawa
 
Jade moon-how html5 to reduce sw costs
Jade moon-how html5 to reduce sw costsJade moon-how html5 to reduce sw costs
Jade moon-how html5 to reduce sw costs
Jade Moon
 
Building Volkswagen Group's Digital Ecosystem (AMT304) - AWS re:Invent 2018
Building Volkswagen Group's Digital Ecosystem (AMT304) - AWS re:Invent 2018Building Volkswagen Group's Digital Ecosystem (AMT304) - AWS re:Invent 2018
Building Volkswagen Group's Digital Ecosystem (AMT304) - AWS re:Invent 2018
Amazon Web Services
 
AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...
AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...
AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...
Amazon Web Services
 
신입 개발자가 스타트업에서 AWS로 살아남는 이야기 - 조용진, 모두의 캠퍼스 :: AWS Summit Seoul 2019
신입 개발자가 스타트업에서 AWS로 살아남는 이야기 - 조용진, 모두의 캠퍼스 :: AWS Summit Seoul 2019신입 개발자가 스타트업에서 AWS로 살아남는 이야기 - 조용진, 모두의 캠퍼스 :: AWS Summit Seoul 2019
신입 개발자가 스타트업에서 AWS로 살아남는 이야기 - 조용진, 모두의 캠퍼스 :: AWS Summit Seoul 2019
Amazon Web Services Korea
 
Easy Rider: How ML, Serverless, and IoT Drive Mobility as a Service (AMT302) ...
Easy Rider: How ML, Serverless, and IoT Drive Mobility as a Service (AMT302) ...Easy Rider: How ML, Serverless, and IoT Drive Mobility as a Service (AMT302) ...
Easy Rider: How ML, Serverless, and IoT Drive Mobility as a Service (AMT302) ...
Amazon Web Services
 
Managing microservices using AWS App Mesh - MAD302 - Chicago AWS Summit
Managing microservices using AWS App Mesh - MAD302 - Chicago AWS SummitManaging microservices using AWS App Mesh - MAD302 - Chicago AWS Summit
Managing microservices using AWS App Mesh - MAD302 - Chicago AWS Summit
Amazon Web Services
 
Auto Industry Implementation of Open Source Software Supply Chain Management ...
Auto Industry Implementation of Open Source Software Supply Chain Management ...Auto Industry Implementation of Open Source Software Supply Chain Management ...
Auto Industry Implementation of Open Source Software Supply Chain Management ...
Shane Coughlan
 
Toyota and Strategic Collaboration with the Community
Toyota and Strategic Collaboration with the CommunityToyota and Strategic Collaboration with the Community
Toyota and Strategic Collaboration with the Community
Shane Coughlan
 
Introduction to AWS App Mesh - MAD301 - Anaheim AWS Summit
Introduction to AWS App Mesh - MAD301 - Anaheim AWS SummitIntroduction to AWS App Mesh - MAD301 - Anaheim AWS Summit
Introduction to AWS App Mesh - MAD301 - Anaheim AWS Summit
Amazon Web Services
 
Linux Akraino Blueprint
Linux Akraino BlueprintLinux Akraino Blueprint
Linux Akraino Blueprint
Liz Warner
 
IRJET- The Smart in-Car Technology
IRJET-  	  The Smart in-Car TechnologyIRJET-  	  The Smart in-Car Technology
IRJET- The Smart in-Car Technology
IRJET Journal
 
Ike Alisson LF Edge Akraino Autonomous Cars Workshop July 27 2021 pa10 akraino
Ike Alisson LF Edge Akraino Autonomous Cars Workshop July 27 2021 pa10 akrainoIke Alisson LF Edge Akraino Autonomous Cars Workshop July 27 2021 pa10 akraino
Ike Alisson LF Edge Akraino Autonomous Cars Workshop July 27 2021 pa10 akraino
Ike Alisson
 

Similar to Spring Boot and Spring Cloud Inside NissanConnect at SPRING FEST '19 (20)

Integrating Service Mesh with Kubernetes-based connected vehicle platform
Integrating Service Mesh with Kubernetes-based connected vehicle platformIntegrating Service Mesh with Kubernetes-based connected vehicle platform
Integrating Service Mesh with Kubernetes-based connected vehicle platform
 
Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...
Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...
Introduction to the AWS Well-Architected Framework and AWS WA Tool - SVC214-R...
 
Kubernetes based connected vehicle platform #k8sjp_t1 #k8sjp
Kubernetes based connected vehicle platform #k8sjp_t1 #k8sjp Kubernetes based connected vehicle platform #k8sjp_t1 #k8sjp
Kubernetes based connected vehicle platform #k8sjp_t1 #k8sjp
 
Introduction to AWS Global Accelerator - SVC211 - Chicago AWS Summit
Introduction to AWS Global Accelerator - SVC211 - Chicago AWS SummitIntroduction to AWS Global Accelerator - SVC211 - Chicago AWS Summit
Introduction to AWS Global Accelerator - SVC211 - Chicago AWS Summit
 
How To Use AGL CAN Signal
How To Use AGL CAN SignalHow To Use AGL CAN Signal
How To Use AGL CAN Signal
 
A few milliseconds in the life of an HTTP request
A few milliseconds in the life of an HTTP requestA few milliseconds in the life of an HTTP request
A few milliseconds in the life of an HTTP request
 
Digital Thread in Shipbuilding: Vision vs Reality
Digital Thread in Shipbuilding: Vision vs RealityDigital Thread in Shipbuilding: Vision vs Reality
Digital Thread in Shipbuilding: Vision vs Reality
 
pmconf2019 - Nissan
pmconf2019 - Nissanpmconf2019 - Nissan
pmconf2019 - Nissan
 
Jade moon-how html5 to reduce sw costs
Jade moon-how html5 to reduce sw costsJade moon-how html5 to reduce sw costs
Jade moon-how html5 to reduce sw costs
 
Building Volkswagen Group's Digital Ecosystem (AMT304) - AWS re:Invent 2018
Building Volkswagen Group's Digital Ecosystem (AMT304) - AWS re:Invent 2018Building Volkswagen Group's Digital Ecosystem (AMT304) - AWS re:Invent 2018
Building Volkswagen Group's Digital Ecosystem (AMT304) - AWS re:Invent 2018
 
AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...
AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...
AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...
 
신입 개발자가 스타트업에서 AWS로 살아남는 이야기 - 조용진, 모두의 캠퍼스 :: AWS Summit Seoul 2019
신입 개발자가 스타트업에서 AWS로 살아남는 이야기 - 조용진, 모두의 캠퍼스 :: AWS Summit Seoul 2019신입 개발자가 스타트업에서 AWS로 살아남는 이야기 - 조용진, 모두의 캠퍼스 :: AWS Summit Seoul 2019
신입 개발자가 스타트업에서 AWS로 살아남는 이야기 - 조용진, 모두의 캠퍼스 :: AWS Summit Seoul 2019
 
Easy Rider: How ML, Serverless, and IoT Drive Mobility as a Service (AMT302) ...
Easy Rider: How ML, Serverless, and IoT Drive Mobility as a Service (AMT302) ...Easy Rider: How ML, Serverless, and IoT Drive Mobility as a Service (AMT302) ...
Easy Rider: How ML, Serverless, and IoT Drive Mobility as a Service (AMT302) ...
 
Managing microservices using AWS App Mesh - MAD302 - Chicago AWS Summit
Managing microservices using AWS App Mesh - MAD302 - Chicago AWS SummitManaging microservices using AWS App Mesh - MAD302 - Chicago AWS Summit
Managing microservices using AWS App Mesh - MAD302 - Chicago AWS Summit
 
Auto Industry Implementation of Open Source Software Supply Chain Management ...
Auto Industry Implementation of Open Source Software Supply Chain Management ...Auto Industry Implementation of Open Source Software Supply Chain Management ...
Auto Industry Implementation of Open Source Software Supply Chain Management ...
 
Toyota and Strategic Collaboration with the Community
Toyota and Strategic Collaboration with the CommunityToyota and Strategic Collaboration with the Community
Toyota and Strategic Collaboration with the Community
 
Introduction to AWS App Mesh - MAD301 - Anaheim AWS Summit
Introduction to AWS App Mesh - MAD301 - Anaheim AWS SummitIntroduction to AWS App Mesh - MAD301 - Anaheim AWS Summit
Introduction to AWS App Mesh - MAD301 - Anaheim AWS Summit
 
Linux Akraino Blueprint
Linux Akraino BlueprintLinux Akraino Blueprint
Linux Akraino Blueprint
 
IRJET- The Smart in-Car Technology
IRJET-  	  The Smart in-Car TechnologyIRJET-  	  The Smart in-Car Technology
IRJET- The Smart in-Car Technology
 
Ike Alisson LF Edge Akraino Autonomous Cars Workshop July 27 2021 pa10 akraino
Ike Alisson LF Edge Akraino Autonomous Cars Workshop July 27 2021 pa10 akrainoIke Alisson LF Edge Akraino Autonomous Cars Workshop July 27 2021 pa10 akraino
Ike Alisson LF Edge Akraino Autonomous Cars Workshop July 27 2021 pa10 akraino
 

Recently uploaded

UNIT-III- DATA CONVERTERS ANALOG TO DIGITAL CONVERTER
UNIT-III- DATA CONVERTERS ANALOG TO DIGITAL CONVERTERUNIT-III- DATA CONVERTERS ANALOG TO DIGITAL CONVERTER
UNIT-III- DATA CONVERTERS ANALOG TO DIGITAL CONVERTER
vmspraneeth
 
AN INTRODUCTION OF AI & SEARCHING TECHIQUES
AN INTRODUCTION OF AI & SEARCHING TECHIQUESAN INTRODUCTION OF AI & SEARCHING TECHIQUES
AN INTRODUCTION OF AI & SEARCHING TECHIQUES
drshikhapandey2022
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
Atif Razi
 
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls ChennaiCall Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
paraasingh12 #V08
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
uqyfuc
 
SELENIUM CONF -PALLAVI SHARMA - 2024.pdf
SELENIUM CONF -PALLAVI SHARMA - 2024.pdfSELENIUM CONF -PALLAVI SHARMA - 2024.pdf
SELENIUM CONF -PALLAVI SHARMA - 2024.pdf
Pallavi Sharma
 
openshift technical overview - Flow of openshift containerisatoin
openshift technical overview - Flow of openshift containerisatoinopenshift technical overview - Flow of openshift containerisatoin
openshift technical overview - Flow of openshift containerisatoin
snaprevwdev
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
PriyankaKilaniya
 
Open Channel Flow: fluid flow with a free surface
Open Channel Flow: fluid flow with a free surfaceOpen Channel Flow: fluid flow with a free surface
Open Channel Flow: fluid flow with a free surface
Indrajeet sahu
 
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptxSENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
b0754201
 
Digital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptxDigital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptx
aryanpankaj78
 
Butterfly Valves Manufacturer (LBF Series).pdf
Butterfly Valves Manufacturer (LBF Series).pdfButterfly Valves Manufacturer (LBF Series).pdf
Butterfly Valves Manufacturer (LBF Series).pdf
Lubi Valves
 
Blood finder application project report (1).pdf
Blood finder application project report (1).pdfBlood finder application project report (1).pdf
Blood finder application project report (1).pdf
Kamal Acharya
 
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Transcat
 
FULL STACK PROGRAMMING - Both Front End and Back End
FULL STACK PROGRAMMING - Both Front End and Back EndFULL STACK PROGRAMMING - Both Front End and Back End
FULL STACK PROGRAMMING - Both Front End and Back End
PreethaV16
 
Properties of Fluids, Fluid Statics, Pressure Measurement
Properties of Fluids, Fluid Statics, Pressure MeasurementProperties of Fluids, Fluid Statics, Pressure Measurement
Properties of Fluids, Fluid Statics, Pressure Measurement
Indrajeet sahu
 
3rd International Conference on Artificial Intelligence Advances (AIAD 2024)
3rd International Conference on Artificial Intelligence Advances (AIAD 2024)3rd International Conference on Artificial Intelligence Advances (AIAD 2024)
3rd International Conference on Artificial Intelligence Advances (AIAD 2024)
GiselleginaGloria
 
Impartiality as per ISO /IEC 17025:2017 Standard
Impartiality as per ISO /IEC 17025:2017 StandardImpartiality as per ISO /IEC 17025:2017 Standard
Impartiality as per ISO /IEC 17025:2017 Standard
MuhammadJazib15
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
ydzowc
 
Introduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.pptIntroduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.ppt
Dwarkadas J Sanghvi College of Engineering
 

Recently uploaded (20)

UNIT-III- DATA CONVERTERS ANALOG TO DIGITAL CONVERTER
UNIT-III- DATA CONVERTERS ANALOG TO DIGITAL CONVERTERUNIT-III- DATA CONVERTERS ANALOG TO DIGITAL CONVERTER
UNIT-III- DATA CONVERTERS ANALOG TO DIGITAL CONVERTER
 
AN INTRODUCTION OF AI & SEARCHING TECHIQUES
AN INTRODUCTION OF AI & SEARCHING TECHIQUESAN INTRODUCTION OF AI & SEARCHING TECHIQUES
AN INTRODUCTION OF AI & SEARCHING TECHIQUES
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
 
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls ChennaiCall Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
SELENIUM CONF -PALLAVI SHARMA - 2024.pdf
SELENIUM CONF -PALLAVI SHARMA - 2024.pdfSELENIUM CONF -PALLAVI SHARMA - 2024.pdf
SELENIUM CONF -PALLAVI SHARMA - 2024.pdf
 
openshift technical overview - Flow of openshift containerisatoin
openshift technical overview - Flow of openshift containerisatoinopenshift technical overview - Flow of openshift containerisatoin
openshift technical overview - Flow of openshift containerisatoin
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
 
Open Channel Flow: fluid flow with a free surface
Open Channel Flow: fluid flow with a free surfaceOpen Channel Flow: fluid flow with a free surface
Open Channel Flow: fluid flow with a free surface
 
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptxSENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
 
Digital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptxDigital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptx
 
Butterfly Valves Manufacturer (LBF Series).pdf
Butterfly Valves Manufacturer (LBF Series).pdfButterfly Valves Manufacturer (LBF Series).pdf
Butterfly Valves Manufacturer (LBF Series).pdf
 
Blood finder application project report (1).pdf
Blood finder application project report (1).pdfBlood finder application project report (1).pdf
Blood finder application project report (1).pdf
 
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
 
FULL STACK PROGRAMMING - Both Front End and Back End
FULL STACK PROGRAMMING - Both Front End and Back EndFULL STACK PROGRAMMING - Both Front End and Back End
FULL STACK PROGRAMMING - Both Front End and Back End
 
Properties of Fluids, Fluid Statics, Pressure Measurement
Properties of Fluids, Fluid Statics, Pressure MeasurementProperties of Fluids, Fluid Statics, Pressure Measurement
Properties of Fluids, Fluid Statics, Pressure Measurement
 
3rd International Conference on Artificial Intelligence Advances (AIAD 2024)
3rd International Conference on Artificial Intelligence Advances (AIAD 2024)3rd International Conference on Artificial Intelligence Advances (AIAD 2024)
3rd International Conference on Artificial Intelligence Advances (AIAD 2024)
 
Impartiality as per ISO /IEC 17025:2017 Standard
Impartiality as per ISO /IEC 17025:2017 StandardImpartiality as per ISO /IEC 17025:2017 Standard
Impartiality as per ISO /IEC 17025:2017 Standard
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
 
Introduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.pptIntroduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.ppt
 

Spring Boot and Spring Cloud Inside NissanConnect at SPRING FEST '19

  • 1. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. , . 8 1/ L C 9 2 88 9 2 8 0 / 8 1 /1 DBL . 1 8 . , . 8 8 8 0
  • 2. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. n Java 20 Swing UI ) n Java n 2019 4 & n 2
  • 3. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 3 e ea N 1 C .. 5 c 4 N3 2
  • 4. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 4 e ea N 1 C .. 5 c 4 N3 2
  • 5. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 5 n “CASE” – C (Connected) – A (Autonomous) – S (Shared & Services) – E (Electric)
  • 6. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 6 https://www3.nissan.co.jp/connect/service_skyline/service.html
  • 7. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. n n to n n n push n n n 7 https://www3.nissan.co.jp/connect/service_skyline/service.html
  • 8. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. https://www.amazon.co.jp/NISSAN-MOTOR-CO-LTD-LEAF/dp/B074KCT1SY • EV Alexa Skill • Alexa
  • 9. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. https://play.google.com/store/apps/details?id=com.aqsmartphone.android.nissan_jp • • EV(Electric Vehicle) EV • NissanConnect
  • 10. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. https://play.google.com/store/apps/details?id=jp.co.nissan.nissanconnect.ice • • ICE(Internal Combustion Engine) ICE • NissanConnect (
  • 11. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. n Web n n 11
  • 12. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. n – – – (E2E ) nWeb – – validation 12
  • 13. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 13 e ea N 1 C .. 5 c 4 N3 2
  • 14. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. System Overview (End to End) 14 Car GatewayService Layer Backends (IS/IT) Telematics Service Provider
  • 15. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. System Overview (Cloud) 15 Car Gateway GenX Alliance Service Layer Backends ( Alliance Platform) Nissan Service Layer Backends Nissan Backend For Frontend Car Gateway GenY Car Gateway abstraction IS/IT TSP Integration
  • 16. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. System Overview (Cloud) 16 Car Gateway GenX Alliance Service Layer Backends ( Alliance Platform) Nissan Service Layer Backends Nissan Backend For Frontend Car Gateway GenY Car Gateway abstraction IS/IT TSP Integration SpringSpring Spring
  • 17. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. System Overview (Cloud) 17 Car Gateway GenX Alliance Service Layer Backends ( Alliance Platform) Nissan Service Layer Backends Nissan Backend For Frontend Car Gateway GenY Car Gateway abstraction IS/IT TSP Integration SpringSpring Spring
  • 18. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. n PaaS –Microsoft Azure(VM, Database, Monitor, CosmosDB) –Pivotal Cloud Foundry( PCF) –RabbitMQ –Jenkins(Build, Unit Test, Code Check, Deployment…) n Framework –Java/Spring Boot –Node.js/Express 18
  • 19. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. Spring nSpring Boot(Web, JPDA, Redis, RabbitMQ, Security, Actuator) nSpring Cloud Sleuth nSpring Cloud Stream nSpring Cloud Netflix Zuul nSpring Cloud Config, Spring Cloud Bus( ) nSpring Cloud Circuit Breaker( RC) 19
  • 20. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 20 e ea N 1 C .. 5 c 4 N3 2
  • 21. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. NissanConnect n – NissanConnect – 21
  • 22. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 22
  • 23. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. NissanConnect ( ) n –Alliance Platform – –NissanConnect EV 23
  • 24. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. NissanConnect ( ) n –Alliance Platform – Car Gateway Alliance Platform –Java / Spring Boot 24
  • 25. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. NissanConnect ( ) 25 Alliance Platform (many microservices) Car Gateway AdaptationModule Platform Spring Boot Microservices Car Gateway EV
  • 26. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. NissanConnect ( ) n –NissanConnect EV Alliance Platform – CarGateway Alliance Platform • contribution • Car Gateway –Alliance Platform • breaking change 26
  • 27. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 27
  • 28. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. NissanConnect ( ) n – –NissanConnect EV – ( IS/IT ) Integration – Car Gateway 28
  • 29. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. NissanConnect ( ) n – IS/IT Integration –Java / Spring Boot – –Alliance Platform (bug, breaking change…) 29
  • 30. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. NissanConnect ( ) 30 Alliance Platform (many microservices) Car Gateway ICE Nissan Backend (monolith) Zuul Proxy IS/IT Rest API Global Zuul Proxy Integration Spring Web /alliance proxy Spring Web /nissan
  • 31. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. NissanConnect ( ) 31 IS/IT Spring Boot Application HandlerIntercepter Spring Web Controller ZuulFilter Zuul Proxy Spring Web Zuul
  • 32. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. NissanConnect ( ) n – IS/IT backend – Spring Boot • Alliance Platform Zuul Proxy • API Spring Web 32
  • 33. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. Spring Cloud Netflix Zuul n – – API Gateway – https://cloud.spring.io/spring-cloud-netflix/reference/html/#router-and-filter-zuul n Maven dependency n application.properties 33 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-zuul</artifactId> </dependency> # zuul.routes.foo.path=/alliance/foo/v1/** # zuul.routes.foo.url=${foo.domain}/v1/**
  • 34. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. Spring Cloud Netflix Zuul n Spring Web Spring Cloud Netflix Zuul n Timeout 34 @EnableZuulProxy // Zuul Proxy @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } zuul.host.connect-timeout-millis=5000 zuul.host.socket-timeout-millis=65000
  • 35. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. Spring Cloud Netflix Zuul n – ZuulFilter ErrorController – “filterZuulException” 35 @RestController public class ZuulErrorController extends AbstractErrorController { @Value("${error.path:/error}") private String errorPath; @Override public String getErrorPath() { return errorPath; } @RequestMapping(value = "${error.path:/error}", produces = "application/vnd.api+json;charset=UTF-8") public ResponseEntity error(HttpServletRequest request) {
  • 36. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. Spring Cloud Netflix Zuul n 36 @Component public class AllianceErrorFilter extends ZuulFilter { @Override public String filterType() { return "post"; } @Override public boolean shouldFilter() { RequestContext ctx = RequestContext.getCurrentContext(); if(ctx.getRequest().getRequestURI().contains("/alliance") && ctx.getResponse().getStatus() != 200) { return true; } return false; } @Override public Object run() {
  • 37. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 37
  • 38. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. NissanConnect ( ) n – – 38
  • 39. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. NissanConnect ( ) n – – – done →PJ 39
  • 40. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. NissanConnect ( ) 40 Alliance Platform (many microservices) Car Gateway Nissan Backend For Frontend (BFF) Nissan Service Layer Backends (divided as microservice) Nissan Backend (monolith) ICE PJ IS/IT backend PJ microservice Spring Boot API Gateway Backend For Frontend( BFF) PJ
  • 41. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. NissanConnect ( ) n – Backend For Frontend – Microservice – – 41
  • 42. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 42
  • 43. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. NissanConnect ( ) n – – – Alliance Platform • Alliance Platform 43
  • 44. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. NissanConnect ( ) n – backend • IS/IT • Deploy • ( RR ) –Microservices • • 44
  • 45. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. Nissan Service Layer Backends (divided as microservice) Nissan Backend For Frontend (BFF) NissanConnect ( ) 45 Alliance Platform (many microservices) Car Gateway Nissan Backend For Frontend (BFF) Nissan Backend for IS/IT ICE PJ IS/IT Backend IS/IT BFF ICE BFF
  • 46. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. NissanConnect ( ) n – RR Microservice – –Microservice • Spring Cloud Config • Spring Cloud Circuit Breaker + Rejilience4J 46
  • 47. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. n n n 47
  • 48. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. e ea N 1 C .. 48 5 c 4 N3 2
  • 49. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. n – Microservices – • • • (on going) • PCF / Spring Boot Actuator 49
  • 50. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. n – Spring Boot slf4j + logback – Spring Boot Profile – Profile logback-spring.xml n – • • ( 1 ) – Azure Log Analytics • JSON • 1 ( 1 ) 50
  • 51. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. n logback-spring.xml – logback.xml – springProfile Profile 51 <?xml version="1.0"?> <configuration> <springProfile name = "prod"> <!-- prod --> </springProfile> <springProfile name="!(prod | local)"> <!– prod, local --> </springProfile> <springProfile name="local"> <!– local --> </springProfile> </configuration>
  • 52. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. n Microservice 52
  • 53. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. n Microservice 53 HTTP HTTP ServletFilter AutoConfiguration HTTP HTTP RestTemplate ClientInterceptor AutoConfiguration RabbitMQ RabbitTemplate Aspect AutoConfiguration RabbitMQ SimpleRabbitListenerContainerFactory Advice RabbitListener JavaConfig
  • 54. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. n – Microservice – Spring Cloud Sleuth – https://cloud.spring.io/spring-cloud-static/spring-cloud-sleuth/2.2.0.RELEASE/reference/html/ n Maven dependency n Sample (logging) – traceId: The ID of the latency graph that contains the span. ( ) – spanId: The ID of a specific operation that took place. ( ) 54 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId> </dependency> 2019-12-18 14:30:56.901 INFO [bar,6bfd228dc00d216b,6bfd228dc00d216b,false] 23031 --- [nio-8081-exec-3] ... 2019-12-18 14:30:59.373 ERROR [bar,6bfd228dc00d216b,6bfd228dc00d216b,false] 23031 --- [nio-8081-exec-3] ... 2016-12-18 14:31:02.939 INFO [bar,46ab0d418373cbc9,46ab0d418373cbc9,false] 23031 --- [nio-8081-exec-4] ...
  • 55. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. 55 n – Azure Monitor • Top10 – • micrometer(https://micrometer.io/) • Microsoft app insight(Alliance Platform )
  • 56. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. PCF / Spring Boot Actuator n – PCF deploy Spring Boot Spring Boot Actuator PCF App Manager UI – – PCF /cloudfoundryapplication – /${service-context}/actuator/${endpoint} PCF n – https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html – https://docs.pivotal.io/platform/application-service/2-7/console/spring-boot-actuators.html 56
  • 57. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. PCF / Spring Boot Actuator n Tips – spring-boot-maven-plugin build-info target jar – PCF App Manager UI deploy 57 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>1.4.2.RELEASE</version> <executions> <execution> <goals> <goal>build-info</goal> <!– --> </goals> </execution> </executions> </plugin> </plugins> </build>
  • 58. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. PCF / Spring Boot Actuator n Tips – Deploy Spring Boot Servlet Context /cloudfoundryapplication servlet context – https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html#production-ready-cloudfoundry 58 @Bean public TomcatServletWebServerFactory servletWebServerFactory() { return new TomcatServletWebServerFactory() { @Override protected void prepareContext(Host host, ServletContextInitializer[] initializers) { super.prepareContext(host, initializers); StandardContext child = new StandardContext(); child.addLifecycleListener(new Tomcat.FixContextListener()); child.setPath("/cloudfoundryapplication"); ServletContainerInitializer initializer = getServletContextInitializer(getContextPath()); child.addServletContainerInitializer(initializer, Collections.emptySet()); child.setCrossContext(true); host.addChild(child); } }; } private ServletContainerInitializer getServletContextInitializer(String contextPath) { return (c, context) -> { Servlet servlet = new GenericServlet() { @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { ServletContext context = req.getServletContext().getContext(contextPath); context.getRequestDispatcher("/cloudfoundryapplication").forward(req, res); } }; context.addServlet("cloudfoundry", servlet).addMapping("/*"); }; }
  • 59. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. n n n PCF + Actuator 59
  • 60. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. e ea N 1 C .. 60 5 c 4 N3 2
  • 61. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. n – Microservices Microservice – 61
  • 62. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. Auto Reconfiguration by Java Buildpack n –Spring Boot PCF deploy DB Datasource – Spring Boot 62
  • 63. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. Auto Reconfiguration by Java Buildpack 63 @Profile("cloud") @Configuration public class CloudFoundryConfig { @Bean public Cloud cloud() { return new CloudFactory().getCloud(); } @Bean @ConfigurationProperties(prefix = "spring.datasource") public DataSource dataSource() { DataSource ds = cloud().getSingletonServiceConnector(DataSource.class, null); return (ds instanceof DelegatingDataSource) ? ((DelegatingDataSource) ds).getTargetDataSource() : ds; } } n – Java Buildpack Auto Reconfiguration Datasource – Cloud JavaConfig – Datasource @ConfigurationProperties – return
  • 64. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. RestTemplate with Apache HttpClient 64 n – RestTemplate java.net.HttpUrlConnection HTTP – HttpClient RestTemplate HttpClient
  • 65. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. RestTemplate with Apache HttpClient n – HttpClient (PoolingHttpClientConnectionManager) 65 maxConnPerRoute 2 maxConnTotal 20
  • 66. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. RestTemplate with Apache HttpClient n LoadBalancer – LB (Azure LB 4min(240sec) ) – TCP/IP FIN HttpClient Timeout 66 Spring Boot Application LB FIN FIN
  • 67. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. RestTemplate with Apache HttpClient n – HttpClientBuilder JavaConfig – LB TimeToLive – HTTP (Redis ) 67 public ClosableHttpClient httpClient() { return HttpClients.custom() .setMaxConnPerRoute(routeMaxConnection) // set max connection .setMaxConnTotal(totalMaxConnection) // set max connection .setConnectionTimeToLive(180, TimeUnit.SECONDS) // set connection ttl to 180s .evictExpiredConnections() // enable evict expired connection .build(); }
  • 68. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. n DB n RedisTemaplate 68
  • 69. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. n Microservices n n HTTP n PCF Auto Reconfiguration 69
  • 70. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved.
  • 71. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. n Spring Boot Microservices n Microservices n n 71
  • 72. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. ! Wantedly https://www.wantedly.com/projects/333155
  • 73. (C) Copyright NISSAN MOTOR CO., LTD. 2019 All rights reserved. ! !