diff --git a/VerteilteSysteme-Examples/.classpath b/VerteilteSysteme-Examples/.classpath index 109c90d..97d2ed9 100644 --- a/VerteilteSysteme-Examples/.classpath +++ b/VerteilteSysteme-Examples/.classpath @@ -20,5 +20,6 @@ + diff --git a/VerteilteSysteme-Examples/build/RMIEchoServer.jar b/VerteilteSysteme-Examples/build/RMIEchoServer.jar index ceed2e8..6447efa 100644 Binary files a/VerteilteSysteme-Examples/build/RMIEchoServer.jar and b/VerteilteSysteme-Examples/build/RMIEchoServer.jar differ diff --git a/VerteilteSysteme-Examples/build/RMIMandelbrotCalculationsServer.jar b/VerteilteSysteme-Examples/build/RMIMandelbrotCalculationsServer.jar index 34f6374..10c7622 100644 Binary files a/VerteilteSysteme-Examples/build/RMIMandelbrotCalculationsServer.jar and b/VerteilteSysteme-Examples/build/RMIMandelbrotCalculationsServer.jar differ diff --git a/VerteilteSysteme-Examples/build/TCPPerfServer.jar b/VerteilteSysteme-Examples/build/TCPPerfServer.jar index f43c7f4..c7c7bca 100644 Binary files a/VerteilteSysteme-Examples/build/TCPPerfServer.jar and b/VerteilteSysteme-Examples/build/TCPPerfServer.jar differ diff --git a/VerteilteSysteme-Examples/build/TCPServer.jar b/VerteilteSysteme-Examples/build/TCPServer.jar index 64b3685..57b5cc8 100644 Binary files a/VerteilteSysteme-Examples/build/TCPServer.jar and b/VerteilteSysteme-Examples/build/TCPServer.jar differ diff --git a/VerteilteSysteme-Examples/build/TCPServerMulti.jar b/VerteilteSysteme-Examples/build/TCPServerMulti.jar index 9813757..7f3a62c 100644 Binary files a/VerteilteSysteme-Examples/build/TCPServerMulti.jar and b/VerteilteSysteme-Examples/build/TCPServerMulti.jar differ diff --git a/VerteilteSysteme-Examples/build/TCPTimeCounterServer.jar b/VerteilteSysteme-Examples/build/TCPTimeCounterServer.jar index ee48f1b..4010636 100644 Binary files a/VerteilteSysteme-Examples/build/TCPTimeCounterServer.jar and b/VerteilteSysteme-Examples/build/TCPTimeCounterServer.jar differ diff --git a/VerteilteSysteme-Examples/build/UDPServer.jar b/VerteilteSysteme-Examples/build/UDPServer.jar index 474f081..38f72b8 100644 Binary files a/VerteilteSysteme-Examples/build/UDPServer.jar and b/VerteilteSysteme-Examples/build/UDPServer.jar differ diff --git a/VerteilteSysteme-Examples/build/UDPServerMulti.jar b/VerteilteSysteme-Examples/build/UDPServerMulti.jar index 0ee2d16..1f71507 100644 Binary files a/VerteilteSysteme-Examples/build/UDPServerMulti.jar and b/VerteilteSysteme-Examples/build/UDPServerMulti.jar differ diff --git a/VerteilteSysteme-Examples/build/UDPTimeCounterServer.jar b/VerteilteSysteme-Examples/build/UDPTimeCounterServer.jar index 85aeb33..741e2d6 100644 Binary files a/VerteilteSysteme-Examples/build/UDPTimeCounterServer.jar and b/VerteilteSysteme-Examples/build/UDPTimeCounterServer.jar differ diff --git a/VerteilteSysteme-Examples/lib-aws/aws-java-sdk-s3-1.11.257.jar b/VerteilteSysteme-Examples/lib-aws/aws-java-sdk-s3-1.11.257.jar new file mode 100644 index 0000000..dfe270b Binary files /dev/null and b/VerteilteSysteme-Examples/lib-aws/aws-java-sdk-s3-1.11.257.jar differ diff --git a/VerteilteSysteme-Examples/lib-aws/commons-logging-1.2.jar b/VerteilteSysteme-Examples/lib-aws/commons-logging-1.2.jar new file mode 100644 index 0000000..93a3b9f Binary files /dev/null and b/VerteilteSysteme-Examples/lib-aws/commons-logging-1.2.jar differ diff --git a/VerteilteSysteme-Examples/lib-aws/httpclient-4.5.4.jar b/VerteilteSysteme-Examples/lib-aws/httpclient-4.5.4.jar new file mode 100644 index 0000000..10a6039 Binary files /dev/null and b/VerteilteSysteme-Examples/lib-aws/httpclient-4.5.4.jar differ diff --git a/VerteilteSysteme-Examples/lib-aws/httpcore-4.4.9.jar b/VerteilteSysteme-Examples/lib-aws/httpcore-4.4.9.jar new file mode 100644 index 0000000..cddba28 Binary files /dev/null and b/VerteilteSysteme-Examples/lib-aws/httpcore-4.4.9.jar differ diff --git a/VerteilteSysteme-Examples/lib-aws/jackson-annotations-2.9.3.jar b/VerteilteSysteme-Examples/lib-aws/jackson-annotations-2.9.3.jar new file mode 100644 index 0000000..b830738 Binary files /dev/null and b/VerteilteSysteme-Examples/lib-aws/jackson-annotations-2.9.3.jar differ diff --git a/VerteilteSysteme-Examples/lib-aws/jackson-databind-2.9.3.jar b/VerteilteSysteme-Examples/lib-aws/jackson-databind-2.9.3.jar new file mode 100644 index 0000000..4cfc778 Binary files /dev/null and b/VerteilteSysteme-Examples/lib-aws/jackson-databind-2.9.3.jar differ diff --git a/VerteilteSysteme-Examples/lib-aws/joda-time-2.9.9.jar b/VerteilteSysteme-Examples/lib-aws/joda-time-2.9.9.jar new file mode 100644 index 0000000..b3080c4 Binary files /dev/null and b/VerteilteSysteme-Examples/lib-aws/joda-time-2.9.9.jar differ diff --git a/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterClient.java b/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterClient.java index c0e8ebf..1848570 100644 --- a/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterClient.java +++ b/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterClient.java @@ -28,14 +28,14 @@ class TCPTimeCounterClient { } public static void main(String args[]) throws Exception { - String hostname = ""; + String hostname = "35.156.87.228"; int tcpPort = 36038; - BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); + //BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); long timestampStart, timestampSent, timestampEnd, delay; // Hostname vom Benutzer anfragen auf dem der Server läuft System.out.println("Bitte geben Sie die Server-Adresse ein: "); - hostname = inFromUser.readLine(); + //hostname = inFromUser.readLine(); // Socket erzeugen Socket clientSocket = new Socket(hostname, tcpPort); @@ -43,7 +43,8 @@ class TCPTimeCounterClient { // Zahl vom Benutzer abfragen, die dann vom Server auf den aktuellen Zählerstand // addiert wird System.out.println("Bitte geben Sie eine Zahl ein: "); - Long number = new Long(inFromUser.readLine()); + //Long number = new Long(inFromUser.readLine()); + Long number = new Long(10); // Zahl an Server senden System.out.println(System.lineSeparator()); diff --git a/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterServer.java b/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterServer.java index 0abbae7..cdc06f0 100644 --- a/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterServer.java +++ b/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterServer.java @@ -4,17 +4,22 @@ import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; + import java.net.ServerSocket; import java.net.Socket; + import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; -import redis.clients.jedis.Jedis; + +import com.amazonaws.services.s3.AmazonS3; +import com.amazonaws.services.s3.AmazonS3ClientBuilder; class TCPTimeCounterServer { public static void main(String args[]) throws Exception { int tcpPort = 36038; - String redisClusterURL = "vertsys-ec1-0001-002.71rxr9.0001.euc1.cache.amazonaws.com"; + String bucketName = "vertsys-counter"; + //String redisClusterURL = "vertsys-ec1-0001-002.71rxr9.0001.euc1.cache.amazonaws.com"; DateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); // Socket erzeugen @@ -35,19 +40,33 @@ class TCPTimeCounterServer { long number = new Long(new String(inFromClient.readLine())); // Verbindung zum Redis Cluster (Amazon ElastiCache) - Jedis jedis = new Jedis(redisClusterURL, 6379); - System.out.println("Connected to redis server"); + //JedisPool pool = new JedisPool(new JedisPoolConfig(), redisClusterURL); + //Jedis jedis = pool.getResource(); + //jedis.connect(); + //JedisCluster jedisCluster = new JedisCluster(new HostAndPort(redisClusterURL, 6379)); + //System.out.println("Connected to redis server"); // check whether server is running or not //System.out.println("redis server is running: " + jedis.ping()); //System.out.println("redis server cluster info: " + jedis.clusterInfo()); // Variable für Zählerstand des Servers, dieser Zähler wird durch Anfragen der // Clients erhöht - jedis.incrBy("vertsys-counter", number); - long counter = new Long(jedis.get("vertsys-counter")); - jedis.close(); + //jedisCluster.incrBy("vertsys-counter", number); + //long counter = new Long(jedisCluster.get("vertsys-counter")); + //jedisCluster.close(); + //System.out.println("TTL:" + jedisCluster.ttl("vertsys-counter")); + //System.out.println("Anfrage von Client " + connectionSocket.getInetAddress() + ":" + connectionSocket.getPort() + " Zahl: " + number + " Zählerstand: " + counter); + + //Verbindung zu S3 + AmazonS3 s3Client = AmazonS3ClientBuilder.defaultClient(); + String region = s3Client.getRegionName(); + if (!s3Client.doesObjectExist("vertsys-counter", region)) + { + s3Client.putObject(bucketName, region, new Long(0).toString()); + } + long counter = new Long(s3Client.getObjectAsString(bucketName, region)); + counter = counter + number; + s3Client.putObject(bucketName, region, new Long(counter).toString()); - System.out.println("TTL:" + jedis.ttl("vertsys-counter")); - System.out.println("Anfrage von Client " + connectionSocket.getInetAddress() + ":" + connectionSocket.getPort() + " Zahl: " + number + " Zählerstand: " + counter); // Try/Catch hinzugefügt, nachdem bei Einsatz Amazon AWS (Healthcheck des ELB) clientSentence null war try {